这期内容当中小编将会给大家带来有关利用python 编写一个倒计时功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
运行效果:
完整源码:
##import library from tkinter import * import time from playsound import playsound ## display window root = Tk() root.geometry('400x300') root.resizable(0,0) root.config(bg ='blanched almond') root.title('TechVidvan - Countdown Clock And Timer') Label(root, text = 'Countdown Clock and Timer' , font = 'arial 20 bold', bg ='papaya whip').pack() #display current time####################### Label(root, font ='arial 15 bold', text = 'current time :', bg = 'papaya whip').place(x = 40 ,y = 70) ####fun to display current time def clock(): clock_time = time.strftime('%H:%M:%S %p') curr_time.config(text = clock_time) curr_time.after(1000,clock) curr_time =Label(root, font ='arial 15 bold', text = '', fg = 'gray25' ,bg ='papaya whip') curr_time.place(x = 190 , y = 70) clock() #######################timer countdown########## #storing seconds sec = StringVar() Entry(root, textvariable = sec, width = 2, font = 'arial 12').place(x=250, y=155) sec.set('00') #storing minutes mins= StringVar() Entry(root, textvariable = mins, width =2, font = 'arial 12').place(x=225, y=155) mins.set('00') # storing hours hrs= StringVar() Entry(root, textvariable = hrs, width =2, font = 'arial 12').place(x=200, y=155) hrs.set('00') ##########fun to start countdown def countdown(): times = int(hrs.get())*3600+ int(mins.get())*60 + int(sec.get()) while times > -1: minute,second = (times // 60 , times % 60) hour = 0 if minute > 60: hour , minute = (minute // 60 , minute % 60) sec.set(second) mins.set(minute) hrs.set(hour) root.update() time.sleep(1) if(times == 0): playsound('Loud_Alarm_Clock_Buzzer.mp3') sec.set('00') mins.set('00') hrs.set('00') times -= 1 Label(root, font ='arial 15 bold', text = 'set the time', bg ='papaya whip').place(x = 40 ,y = 150) Button(root, text='START', bd ='5', command = countdown, bg = 'antique white', font = 'arial 10 bold').place(x=150, y=210) root.mainloop()
上述就是小编为大家分享的利用python 编写一个倒计时功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。