Python 中 tkinter 中的协议

问题描述 投票:0回答:1

我是 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()
python python-2.7 python-3.x tkinter
1个回答
0
投票

我在另一个问题中读到

WM_TAKE_FOCUS
无法正常工作。同样的问题提供了另一种方法来完成
WM_TAKE_FOCUS
的功能。 如果工作正常,当窗口处于焦点状态时,会发生
WM_TAKE_FOCUS
。如果你不知道什么是焦点,可以问我。

当 tkinter 窗口获得焦点时如何处理


WM_SAVE_YOURSELF
已弃用,但这里有一些有用的链接可能会有所帮助。

https://effbot.org/tkinterbook/wm.htm#Tkinter.Wm.protocol-method https://en.wikipedia.org/wiki/Snapshot_(computer_storage)

© www.soinside.com 2019 - 2024. All rights reserved.