概述
由于之前电脑崩了,装了win7系统,32位机器,下载的是PythonPython 3.8.3
废话不多说直接上代码
import tkinter,winsound,time
from tkinter.constants import *
def alert():
alerttime=spinbox1.get()+'-'+spinbox2.get()+'-'+spinbox3.get()+'-'+spinbox4.get()+'-'+spinbox5.get()+'-'+spinbox6.get()
dtime=time.mktime(time.strptime(alerttime,'%Y-%m-%d-%H-%M-%S'))-time.time()
btn.after(int(dtime)*1000,sound)
return dtime
def sound():
winsound.Beep(1400,2000)
print(11)
root=tkinter.Tk()
label=tkinter.Label(root,text='请选择提醒时间')
frameup=tkinter.Frame(root)
ly=tkinter.Label(frameup,text='年')
spinbox1=tkinter.Spinbox(frameup,from_=2000,to=2030)
spinbox1.delete(0,END)
spinbox1.insert(0,str(time.strftime('%Y',time.localtime(time.time()))))
lm=tkinter.Label(frameup,text='月')
spinbox2=tkinter.Spinbox(frameup,from_=1,to=12)
spinbox2.delete(0,END)
spinbox2.insert(0,str(time.strftime('%m',time.localtime(time.time()))))
ld=tkinter.Label(frameup,text='日')
spinbox3=tkinter.Spinbox(frameup,from_=1,to=31)
spinbox3.delete(0,END)
spinbox3.insert(0,str(time.strftime('%d',time.localtime(time.time()))))
label.pack()
frameup.pack()
l=[ly,spinbox1,lm,spinbox2,ld,spinbox3]
for i in l:
i.pack(side=LEFT)
framedown=tkinter.Frame(root)
lh=tkinter.Label(framedown,text='时')
spinbox4=tkinter.Spinbox(framedown,from_=0,to=23)
spinbox4.delete(0,END)
spinbox4.insert(0,str(time.strftime('%H',time.localtime(time.time()))))
lmin=tkinter.Label(framedown,text='分')
spinbox5=tkinter.Spinbox(framedown,from_=0,to=59)
spinbox5.delete(0,END)
spinbox5.insert(0,str(time.strftime('%M',time.localtime(time.time()))))
ls=tkinter.Label(framedown,text='秒')
spinbox6=tkinter.Spinbox(framedown,from_=0,to=59)
spinbox6.delete(0,END)
spinbox6.insert(0,str(time.strftime('%S',time.localtime(time.time()))))
framedown.pack()
l=[lh,spinbox4,lmin,spinbox5,ls,spinbox6]
for i in l:
i.pack(side=LEFT)
frame3=tkinter.Frame(root)
frame3.pack(side=BOTTOM)
btn=tkinter.Button(frame3,text='设置提醒',command=alert)
btn.pack()
root.mainloop()
主要实现的是到达预设时间会发出声音。
写在后面的话:
1.主要知识点是tkinter after的使用after(msec,func),想达到提醒功能,可以有两种方法,一是检测时间是否与预设时间相同,如果相同就触发某种报警,二是直接计算出设置时间与当前时间的差值,利用after函数来进行读秒后操作。
2.time模块各个时间类型的转换,如字符型转化为结构型
3.winsound模块,这个程序本来是在winxp编辑的,蜂鸣器还是可以用的,重装了win7有点问题,无法发出声音,特意加了print证明确实在运行,也可能电脑或者系统之间有差异吧
最后
以上就是爱撒娇火车为你收集整理的Python tkinter制作提醒小程序的全部内容,希望文章能够帮你解决Python tkinter制作提醒小程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复