python -protocol用法-创建销毁窗口

tkinter-protocol

WM_DELETE_WINDOW

除事件绑定外,Tkinter还支持一种称为协议(protocol-)处理程序的机制。 协议是指应用程序与窗口管理器之间的交互。 最常用的协议称为
WM_DELETE_WINDOW
一旦定义了自己的处理程序handler,Tkinter将不再自动关闭窗口。 相反,可以如显示一个消息框,询问用户是否应保存当前数据,或者在某些情况下,只需忽略请求即可。 要从此处理程序关闭窗口,只需调用窗口的destroy方法。

示例:在点击窗口x退出时,增加确认界面(tkinter.messagebox.askokcancel())

from tkinter import Tk
from  tkinter import messagebox
#tkinter的信息窗口

root = Tk()
# 当点击窗口x退出时,执行的程序
def on_closing():
    if messagebox.askokcancel("Quit", "Do you want to quit?"):
        root.destroy()

# WM_DELETE_WINDOW 不能改变,这是捕获命令
root.protocol('WM_DELETE_WINDOW', on_closing)
root.mainloop()


protocol就是一个创建销毁窗口的方法
直接写一个handle的函数(可以直接销毁也可以加一个判断再销毁)

原文链接:protocols

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值