一个单一的tkinter程序不会双击打开。我没有收到任何错误消息

时间:2017-12-05 17:46:28

标签: python python-3.x user-interface tkinter

我在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打开半秒然后关闭。感谢任何帮助,提前谢谢。

1 个答案:

答案 0 :(得分:2)

您需要在程序结尾添加master.mainloop()作为最后一条逻辑行。

这迫使程序不断更新所有内容。