tkinter响应窗口关闭事件

2019年11月6日 / 7,777次阅读 / Last Modified 2019年11月6日
tkinter

如果我们点击tkinter窗口程序的关闭按钮(X,一般在右上角),窗口会被关闭,这个过程实际上调用了窗口的destroy函数,本文介绍如何响应这个窗口关闭事件,不让tkinter系统自动调用destroy函数,而是调用一个自定义的函数,或者先运行一段自定义的代码,最后自己再调用destroy。

先上代码:

>>> import tkinter as tk
>>> root = tk.Tk()
>>> root.protocol('WM_DELETE_WINDOW', root.iconify)
''
>>> root.protocol('WM_DELETE_WINDOW', root.destroy)
''
>>> root.protocol('WM_DELETE_WINDOW', customized_function)

使用protocol函数,绑定关闭事件到一个指定的函数入口。如果绑定root.iconify,点击关闭(X),就是最小化窗口,而不是关闭。

您也可以自己写一个函数,先执行一段自己的代码,最后调用destroy函数。protocol函数肯定还可以绑定其它事件,我暂时还不会,以后再慢慢学习和分享。了解了这个基本逻辑,学习其它事件也很容易了。

-- EOF --

本文链接:https://www.pynote.net/archives/1475

留言区

《tkinter响应窗口关闭事件》有1条留言

您的电子邮箱地址不会被公开。 必填项已用*标注

  • 麦新杰

    貌似只有root和toplevel有protocol函数,可以绑定WM_DELETE_WINDOW消息。 [回复]


前一篇:
后一篇:

More

麦新杰的Python笔记

Ctrl+D 收藏本页


©Copyright 麦新杰 Since 2019 Python笔记

go to top