2017-12-05 8 views
1

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가 0.5 초 동안 열린 다음 닫힙니다. 어떤 도움을 주셔서 감사합니다, 미리 감사드립니다.

+0

당신은 _call_'master.mainloop()'맞습니까? – Nae

답변

2

마지막 논리 줄과 같이 프로그램 끝에 master.mainloop()을 추가해야합니다.

이렇게하면 프로그램이 모든 항목을 지속적으로 업데이트해야합니다.

+0

나는 이것을 지금 시험해 볼 것이다, 환호. –

+0

그게다고 믿을 수가 없어, 고마워. 내 모든 다른 프로그램은 이것없이 작동하기 때문에 혼란 스러웠다. –

+0

@MaxStrange 프로그램은 IDLE이'tkinter'로 생성되고'mainloop()'가 실행되기 때문에 IDLE에서'mainloop()'없이 실행될 수 있습니다. – furas