我试图通过拦截窗口管理器 WM_DELETE_WINDOW 事件来防止在 OSX 中关闭顶层窗口。
#!/usr/bin/env python
from Tkinter import *
def speak():
print "woof"
root = Tk()
root.title("root")
win = Toplevel()
win.title("win")
win.protocol('WM_DELETE_WINDOW', speak)
root.mainloop()
当我运行它时,我得到两个名为“root”和“win”的弹出窗口。如果我单击“win”上的红色“x”关闭按钮关闭窗口,打印“woof”然后关闭。但是,如果我在 Windows 上运行相同的代码,每次单击红色的“x”关闭按钮时,“win”都会保持打开状态并继续打印“woof”。
当我单击红色的“x”关闭按钮时,如何防止 Toplevel 窗口在 OSX 上关闭?