Tkinter window 关闭后有什么办法吗?
Is there any way of doing something after the Tkinter window is closed?
所以我有一个在 tkinter 中运行的程序 window。这个想法是,当用户完成使用 porgram 时,他们在该会话中的 scores/info 会被存储,因此他们的分数应该只在他们关闭 window 后存储。
我想知道当用户按下关闭按钮(来自 window,而不是 in-window 小部件时,是否有任何东西可以告诉程序,以便进程仅在之后发生他们关闭了 window.
mainloop
函数仅在根 window 关闭后结束,因此您可以将代码放在那之后。
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()
所以我有一个在 tkinter 中运行的程序 window。这个想法是,当用户完成使用 porgram 时,他们在该会话中的 scores/info 会被存储,因此他们的分数应该只在他们关闭 window 后存储。
我想知道当用户按下关闭按钮(来自 window,而不是 in-window 小部件时,是否有任何东西可以告诉程序,以便进程仅在之后发生他们关闭了 window.
mainloop
函数仅在根 window 关闭后结束,因此您可以将代码放在那之后。
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()