2017-02-24 5 views
1

그래서이 프로그램은 tkinter 창에서 실행됩니다. 사용자가 포 그램 사용을 끝내면 해당 세션의 점수/정보가 저장되므로 점수를 저장하려면 창을 닫은 후에 저장해야합니다.Tkinter 창이 닫힌 후에 어떤 일을 할 수 있습니까?

사용자가 창을 닫은 후에 프로세스가 발생하도록 사용자가 창 닫기 도구 (창 내부 위젯이 아니라)에서 닫기 버튼을 누르면 프로그램에 알릴 수있는 것이 있는지 궁금합니다.

답변

3

mainloop 기능은 루트 창을 닫은 후에 만 ​​종료되므로 그 후에 코드를 붙여 넣기 만하면됩니다.

from Tkinter import * 

root = Tk() 
root.mainloop() 
print("This message should appear after the window closes.") 

나는 당신이 또한 WM_DELETE_WINDOW 이벤트 잡으려고 프로토콜 핸들러를 등록 할 수도있을 것 같군요,하지만 불필요한 합병증처럼 보인다.

from Tkinter import * 

def x_button_pressed(): 
    print("This message should appear after the window closes.") 
    root.destroy() 

root = Tk() 
root.protocol("WM_DELETE_WINDOW", x_button_pressed) 
root.mainloop()