我是 Python 新手,我想使用 WM_DELETE_WINDOW
、WM_TAKE_FOCUS
和 WM_SAVE_YOURSELF
等协议(protocol)。我找到了一个 WM_DELETE_WINDOW
的例子,它足够清晰易懂。但我想了解其余两个协议(protocol)。他们做什么?
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
将在窗口处于焦点时发生。如果你不知道什么是焦点,你可以问我。
How to handle, when tkinter window gets focus
WM_SAVE_YOURSELF
已弃用,但这里有几个有用的链接可能会有所帮助。
https://effbot.org/tkinterbook/wm.htm#Tkinter.Wm.protocol-method https://en.wikipedia.org/wiki/Snapshot_(computer_storage)
关于python - Python 中 tkinter 中的协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45726304/