Alarm Clock
Well as a student we need the alarm clock most. We have already our mobile phones to set our alarm.But think like a coder we can make it by our own and can customize it and it is very fun.So open your ide and start building this amazing project. Just enjoy your code.
Required Module
from tkinter import *
import datetime
import time
import winsound
Make the main function for the alarm
def alarm():
while True:
set_time = f"{hours.get()}: {minute.get()}: {seconds.get()}"
time.sleep(1)
current_time = datetime.datetime.now().strftime("%H:%M:%S")
if set_time == current_time:
print("get up")
winsound.PlaySound("sound.wav",winsound.SND_ASYNC)
else:
break
Create the root for tkinter use
root = Tk()
root.geometry("500x400")
root.title("Alarm clock in python")
root.config(bg='light blue')
Create the label to ask user for input
l1 = Label(root, text="Alarm clock",font="comicsansms 30 bold",fg='green')
l1.pack(pady=20)
l2 = Label(root, text="Set your time", fg="red",font="comicsansms 15 bold" )
l2.pack()
Make a frame and create a tuple for hours
# make a frame
f1 = Frame(root)
f1.pack()
# set the hour time
hours = StringVar(root)
hour =("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "23", "24")
opt_hour = OptionMenu(f1, hours, *hour).pack(side=LEFT)
hours.set(hour[0])
Set the minute time
minute = StringVar(root)
min = ('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')
opt_min = OptionMenu(f1, minute, *min).pack(side=LEFT)
minute.set(min[0])
Set the time for secon
seconds = StringVar(root)
second = ('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')
opt_sec = OptionMenu(f1, seconds, *second).pack(side=LEFT)
seconds.set(second[0])
Now combined all together
from tkinter import *
import datetime
import time
import winsound
def alarm():
while True:
set_time = f"{hours.get()}: {minute.get()}: {seconds.get()}"
time.sleep(1)
current_time = datetime.datetime.now().strftime("%H:%M:%S")
if set_time == current_time:
print("get up")
winsound.PlaySound("sound.wav",winsound.SND_ASYNC)
else:
break
root = Tk()
root.geometry("500x400")
root.title("Alarm clock in python")
root.config(bg='light blue')
# A label ask user to set the time
l1 = Label(root, text="Alarm clock",font="comicsansms 30 bold",fg='green')
l1.pack(pady=20)
l2 = Label(root, text="Set your time", fg="red",font="comicsansms 15 bold" )
l2.pack()
# make a frame
f1 = Frame(root)
f1.pack()
# set the hour time
hours = StringVar(root)
hour =("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "23", "24")
opt_hour = OptionMenu(f1, hours, *hour).pack(side=LEFT)
hours.set(hour[0])
# set the minute time
minute = StringVar(root)
min = ('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')
opt_min = OptionMenu(f1, minute, *min).pack(side=LEFT)
minute.set(min[0])
# set time for second
seconds = StringVar(root)
second = ('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')
opt_sec = OptionMenu(f1, seconds, *second).pack(side=LEFT)
seconds.set(second[0])
Button(root, text="Set Alarm", font="comicsansms 20 bold", command=alarm).pack()
root.mainloop()
Comments
Post a Comment