zl程序教程

您现在的位置是:首页 >  后端

当前栏目

学习笔记(46):Python实战编程-protocol

Python笔记学习编程 实战 protocol 46
2023-09-11 14:21:45 时间

立即学习:https://edu.csdn.net/course/play/19711/343108?utm_source=blogtoedu

1.protocol协议:主要用于窗体关闭监听,通过这个协议可以在窗体关闭前提示是否真的要关闭,这样可以防止用户误触导致数据的丢失

 

2.关键代码

#-----------------c窗体关闭监听事件------------------
self.root.protocol("WM_DELETE_WINDOW",self.window_close_handle)#创建窗体关闭监听事件
........................................................

#创建窗体关闭监听事件处理的方法
 def window_close_handle(self):
 #监听到关闭窗体的后,弹出提示信息框,提示是否真的要关闭,若是的话,则关闭
       if tkinter.messagebox.askyesnocancel("关闭确认窗口","确认要关闭窗口吗?"):
            self.root.destroy()#关闭窗口

 

3.完整代码

import tkinter#导入创建窗体的相关模块
import os
import tkinter.messagebox

class Mainwindow():#创建窗口类
    def __init__(self):
        self.root = tkinter.Tk()#创建主体窗口
        self.root.title('linlianqin')#定义窗体的名字
        self.root.geometry('500x500')#定义窗体的初始大小
        self.root.maxsize(1200,1200)#设置窗口可以显示的最大尺寸

        #-----------------c窗体关闭监听事件------------------
        self.root.protocol("WM_DELETE_WINDOW",self.window_close_handle)#创建窗体关闭监听事件

        self.root.mainloop()#显示窗口,这个代码一定要放在所有窗口设置的后面

    #创建窗体关闭监听事件处理的方法
    def window_close_handle(self):
        #监听到关闭窗体的后,弹出提示信息框,提示是否真的要关闭,若是的话,则关闭
        if tkinter.messagebox.askyesnocancel("关闭确认窗口","确认要关闭窗口吗?"):
            self.root.destroy()#关闭窗口

if __name__ == '__main__':
    Mainwindow()#将窗体类实例化