1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- # 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)
- # Add Labels, Frame, Button, Optionmenus
- Label(root,text="Alarm Clock",font=("Helvetica 20 bold"),fg="red").pack(pady=10)
- Label(root,text="Set Time",font=("Helvetica 15 bold")).pack()
- 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=("Helvetica 15"),command=Threading).pack(pady=20)
- # Execute Tkinter
- root.mainloop()
|