如何在Python Tkinter程序中处理窗口关闭事件(用户单击“X”按钮)?

最佳答案

Tkinter支持一种称为protocol handlers的机制。在此,术语协议(protocol)是指应用程序与窗口管理器之间的交互。最常用的协议(protocol)称为WM_DELETE_WINDOW,用于定义当用户使用窗口管理器显式关闭窗口时发生的情况。

您可以使用protocol方法为该协议(protocol)安装处理程序(小部件必须是TkToplevel小部件):

这里有一个具体的例子:

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()

def on_closing():
    if messagebox.askokcancel("Quit", "Do you want to quit?"):
        root.destroy()

root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()

关于python - 如何在Tkinter中处理窗口关闭事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/111155/

10-11 20:24
查看更多