如何处理Tkinter中的窗口关闭事件?如何在Python Tkinter程序中处理窗口关闭事件(用户单击“X”按钮)?
3 回答
弑天下
TA贡献1818条经验 获得超7个赞
根据Tkinter活动,结束esp。当使用Tkinter.after时,destroy()
即使使用protocol(),按钮等停止此活动- 将干扰此活动(“执行时”错误)而不是仅仅终止它。几乎在所有情况下,最好的解决方案是使用标志。这是一个如何使用它的简单,愚蠢的例子(虽然我确信你们大多数人都不需要它!:)
from Tkinter import *def close_window(): global running running = False print "Window closed"root = Tk()root.protocol("WM_DELETE_WINDOW", close_window)cv = Canvas(root, width=200, height=200); cv.pack()running = True;# This is an endless loop stopped only by setting 'running' to 'False'while running: for i in range(200): if not running: break cv.create_oval(i,i,i+1,i+1); root.update()
这很好地终止了图形活动。您只需要running
在正确的地方检查。
添加回答
举报
0/150
提交
取消