Hiya! I'm trying to make an alarm clock as homework however I keep getting this strange error:
I tried requesting assistance from my teacher but she is just as confused as I am so she left me to it.
Here is my code:
All help would be greatly appreciated! Thanks! - moon
Error:Traceback (most recent call last):
File "C:\Users\RPC-K\OneDrive\Documents\PY.LESSON FLIES\HOMEWORK15\IDK.py", line 43, in <module>
label1 = root.Label(root, image=bg)
File "C:\Program Files\Python311\Lib\tkinter\__init__.py", line 2410, in __getattr__
return getattr(self.tk, attr)
AttributeError: '_tkinter.tkapp' object has no attribute 'Label'
My code used to work as intended but now a blank white tkinter window is all tat appears.I tried requesting assistance from my teacher but she is just as confused as I am so she left me to it.
Here is my code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# Import Required Library from tkinter import * import datetime import time import winsound from threading import * # Create Object root = Tk() # Set geometry root.geometry( "400x200" ) # Use Threading def Threading(): t1 = Thread(target = alarm) t1.start() def alarm(): # Infinite Loop while True : # Set Alarm set_alarm_time = f "{hour.get()}:{minute.get()}:{second.get()}" # Wait for one seconds time.sleep( 1 ) # Get current time current_time = datetime.datetime.now().strftime( "%H:%M:%S" ) print (current_time,set_alarm_time) # Check whether set alarm is equal to current time or not if current_time = = set_alarm_time: print ( "Time to Wake up" ) # Playing sound winsound.PlaySound( "sound.wav" ,winsound.SND_ASYNC) bg = PhotoImage( file = r "C:\Users\RPC-K\Downloads\giphy.gif" ) # Set the label's background color to match your application's # Show image using label label1 = root.Label(root, image = bg) label1.place(x = 530 , y = 300 ) # Add text label2 = root.Label(root, text = "Welcome" , bg = "#88cffa" ) label2.pack(pady = 50 ) # Create Frame frame1 = root.Frame(root, bg = "#88cffa" ) frame1.pack(pady = 20 ) # Add Labels, Frame, Button, Optionmenus Label(root,text = "Khanam's Alarm Clock" ,font = ( "Wistful 90 bold" ),fg = "Light Blue" ).pack(pady = 10 ) root.wm_attributes( "-transparentcolor" , "white" ) Label(root,text = "Set Time" ,font = ( "Wistful 50 bold" ),fg = "Dark blue" ).pack() root.wm_attributes( "-transparentcolor" , "white" ) label_instance = Label(root) # Create an instance of the Label class label_instance.configure(bg = root.cget( "bg" )) # Call configure on the instance frame = Frame(root) frame.pack() hour = StringVar(root) hours = ( '00' , '01' , '02' , '03' , '04' , '05' , '06' , '07' , '08' , '09' , '10' , '11' , '12' , '13' , '14' , '15' , '16' , '17' , '18' , '19' , '20' , '21' , '22' , '23' , '24' ) hour. set (hours[ 0 ]) hrs = OptionMenu(frame, hour, * hours) hrs.pack(side = LEFT) minute = StringVar(root) minutes = ( '00' , '01' , '02' , '03' , '04' , '05' , '06' , '07' , '08' , '09' , '10' , '11' , '12' , '13' , '14' , '15' , '16' , '17' , '18' , '19' , '20' , '21' , '22' , '23' , '24' , '25' , '26' , '27' , '28' , '29' , '30' , '31' , '32' , '33' , '34' , '35' , '36' , '37' , '38' , '39' , '40' , '41' , '42' , '43' , '44' , '45' , '46' , '47' , '48' , '49' , '50' , '51' , '52' , '53' , '54' , '55' , '56' , '57' , '58' , '59' , '60' ) minute. set (minutes[ 0 ]) mins = OptionMenu(frame, minute, * minutes) mins.pack(side = LEFT) second = StringVar(root) seconds = ( '00' , '01' , '02' , '03' , '04' , '05' , '06' , '07' , '08' , '09' , '10' , '11' , '12' , '13' , '14' , '15' , '16' , '17' , '18' , '19' , '20' , '21' , '22' , '23' , '24' , '25' , '26' , '27' , '28' , '29' , '30' , '31' , '32' , '33' , '34' , '35' , '36' , '37' , '38' , '39' , '40' , '41' , '42' , '43' , '44' , '45' , '46' , '47' , '48' , '49' , '50' , '51' , '52' , '53' , '54' , '55' , '56' , '57' , '58' , '59' , '60' ) second. set (seconds[ 0 ]) secs = OptionMenu(frame, second, * seconds) secs.pack(side = LEFT) Button(root,text = "Set Alarm" ,font = ( "Comfortaa 15" ),command = Threading).pack(pady = 20 ) # Create a canvas widget canvas = Canvas(root, width = 1000 , height = 500 ) canvas.configure(background = 'black' ) canvas.pack() # Create an oval or ball in the canvas widget ball = canvas.create_oval( 10 , 10 , 50 , 50 , fill = "lavender" ) # Move the ball xspeed = yspeed = 10 def move_ball(): global xspeed, yspeed canvas.move(ball, xspeed, yspeed) (leftpos, toppos, rightpos, bottompos) = canvas.coords(ball) if leftpos < = 0 or rightpos> = 700 : xspeed = - xspeed if toppos < = 0 or bottompos > = 350 : yspeed = - yspeed canvas.after( 100 , move_ball) canvas.after( 1000 , move_ball) bounce = Tk.Label(parent, image = background_image) bounce.place(x = 0 , y = 0 , relwidth = 1 , relheight = 1 ) # Execute Tkinter root.mainloop() |
JUST A FRIENDLY REMINDER, I AM INFACT A YOUNG CHILD SO PLEASE FORGIVE ME IF I LACK OF ANY KNOWLEDGE THAT MAY SEEM OBVIOUS...I AM STILL DEVELOPING MY SKILLS IN PYTHON - YOURS SINCERELY, Moon
😋
😋