python - Python 中 tkinter 中的协议(protocol)

标签 python python-2.7 python-3.x tkinter

我是 Python 新手,我想使用 WM_DELETE_WINDOWWM_TAKE_FOCUSWM_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/

相关文章:

python - 如何在 Pandas 数据帧上应用具有模式的 bool 过滤器?

python - 在类和函数中使用变量的最佳实践

python - 无法在 Python 中导入 Numpy

Python 故障排除 : ImportError: cannot import name 'main'

python - 从 django 用户模型中获取用户的全名

python - 将大型 Parquet 文件转换为 csv

python - 如何使用 Selenium 来点击某些东西

python - 用Python中的值更新字典列表中所有匹配的键

python-3.x - Cython 相对导入错误,即使在进行绝对导入时也是如此

Python - py_compile 没有输出