我在tkinter中发出警报的代码不会在双击时打开。它在空闲状态下运行得很好,所有其他tkinter程序也可以双击打开。代码中的内容导致了什么?
from tkinter import *
import datetime
import time
from time import strftime
import winsound
master = Tk()
master.geometry('300x300')
master.title('Alarm Time')
label = Label(master, text = 'What time would you like to wake up?')
label.pack()
EnteredAlarm = Entry(master)
EnteredAlarm.pack(ipady=8)
def callback():
Alarm = EnteredAlarm.get()
while True:
Time = strftime('%H:%M')
if str(Time) == str(Alarm):
print('Wake up Mister West')
winsound.PlaySound('Alarm.wav', winsound.SND_FILENAME)
break
else:
print('Zzz...')
time.sleep(5)
b = Button(master, text="OK", command=callback)
b.pack()
代码不会返回任何错误,所有发生的事情都是cmd打开半秒然后关闭。感谢任何帮助,提前谢谢。
答案 0 :(得分:2)
您需要在程序结尾添加master.mainloop()
作为最后一条逻辑行。
这迫使程序不断更新所有内容。