PYTHON TKINTER 窗体的关闭按钮事件?

我写了一个窗体,但是我想在窗体的关闭时,提示是否真的关闭。以免得不小心点了关闭,把程序退出了。 百度了蛮久没找到方法。刚刚学习PYTHON不久。请指教…
关注者
4
被浏览
20,080

3 个回答

其实这个代码网上一搜一大把,善用搜索引擎和StackOverflow!

方法

点击右上角X按钮关闭程序时,会触发'WM_DELETE_WINDOW'消息,如果可以截获这个消息并改变其行为,就可以禁止关闭程序

from tkinter import Tk
from tkinter.messagebox import askyesno
def closeWindow():
    ans = askyesno(title='Warning',message='Close the window?')
    if ans:
        root.destroy()
    else:
        return
if __name__ == '__main__':
    root = Tk()
    root.protocol('WM_DELETE_WINDOW', closeWindow)
    root.mainloop()

参考文献

Python+tkinter不允许退出程序的思路和实现 baijiahao.baidu.com 图标
继续浏览内容
知乎
发现更大的世界
打开
浏览器
继续
import tkinter as tk
import tkinter.messagebox
# 点击button时对应的操作
def quit():
    quit = tkinter.messagebox.askokcancel('提示', '真的要退出吗?')
    if quit == True:
        root.destroy()
# 主窗口
root = tk.Tk()
root.title('测试主窗口')
root.geometry('400x400')