我是 Python 新手,我想使用
WM_DELETE_WINDOW
、WM_TAKE_FOCUS
和 WM_SAVE_YOURSELF
等协议。我找到了一个WM_DELETE_WINDOW
的例子,足够清晰易懂。但我想了解其余两个协议。他们做什么?
from Tkinter import *
import tkMessageBox
root = Tk()
def on_closing():
if tkMessageBox.askokcancel("Quit", "Do you want to quit?"):
root.destroy()
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
我在另一个问题中读到
WM_TAKE_FOCUS
无法正常工作。同样的问题提供了另一种方法来完成 WM_TAKE_FOCUS
的功能。
如果工作正常,当窗口处于焦点状态时,会发生WM_TAKE_FOCUS
。如果你不知道什么是焦点,可以问我。
WM_SAVE_YOURSELF
已弃用,但这里有一些有用的链接可能会有所帮助。
https://effbot.org/tkinterbook/wm.htm#Tkinter.Wm.protocol-method https://en.wikipedia.org/wiki/Snapshot_(computer_storage)