如何保证Toplevel创建的非模式对话框只打开一个

该博客介绍如何在Python的tkinter GUI中创建查找和替换非模式对话框。通过Toplevel类创建对话框,并确保在打开时禁用相关菜单项或按钮,关闭时启用。当用户点击对话框右上角的X按钮时,会调用自定义的关闭函数以恢复菜单项的状态。示例代码展示了如何实现这一功能。

记事本程序都要提供查找和替换功能。在Python中可使用tkinter的Toplevel类创建查找和替换非模式对话框。在打开查找和替换非模式对话框后,不允许再打开其它的查找和替换非模式对话框。实现的思路是在打开查找和替换非模式对话框时,使打开对话框的菜单项或按钮变为不可用,关闭查找和替换非模式对话框后,使这个菜单项或按钮重新变为可用。但是使用Toplevel窗体右上角X按钮也可关闭对话框,关闭对话框的方法是在Toplevel类中,无法使这个菜单项或按钮重新变为可用。必须令单击Toplevel窗体右上角X按钮执行我们自己编写的函数。下边代码完成此功能。具体程序见后边源程序。
f1.protocol(“WM_DELETE_WINDOW”, closef1) #使f1窗口关闭时调用参数2指定函数

import tkinter as tk
def closef1():
    b2['state']='normal'    
    f1.destroy(
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值