编程语言
首页 > 编程语言> > 使用标准的“关闭”按钮关闭easygui Python脚本

使用标准的“关闭”按钮关闭easygui Python脚本

作者:互联网

我创建了一个非常简单的应用程序,该应用程序提供了一个easygui entrybox(),并在接收用户输入时继续无限期循环此操作.

我可以使用“取消”按钮来退出程序,因为这将返回“无”,但是我也希望能够使用标准的“关闭”按钮来退出程序. (即Windows窗口的右上角,Mac窗口的左上角)该按钮当前不起作用.

看一下easygui模块,我发现了这一行:

root.protocol('WM_DELETE_WINDOW', denyWindowManagerClose )

这似乎是罪魁祸首.我不是TKinter专家,但我可能可以解决如何更改此处理程序以按我想要的方式进行操作.

但是,由于我不想与easygui模块混为一谈,是否有一种方法可以从我的主脚本中覆盖此行为,并使用关闭按钮直接关闭程序或返回无?

解决方法:

是的,这将需要更改easygui模块.我将对其进行修改!

**我已发送电子邮件给EasyGUI创建者,说明了此问题[09年1月23日下午12:12]

**我只想说,发生这种变化的可能性很小-我怀疑这是根本-.您会看到,EasyGUI旨在成为创建GUI的简单,离散方式.我认为此添加无济于事,尤其是由于界面非常有序,因此会使新用户感到困惑. [09年1月23日下午12:19]

** EasyGUI创建者在回复我的电子邮件时这样说:

An easygui dialog should never exit
the application — it should pass back
a value to the caller and let the
caller decide what to do.

But this is an interesting idea.
Rather than simply ignoring a click on
the “close” icon, easygui boxes could
return the same value that a click on
the “cancel” button would return.
I’ll meditate on this.

— Steve Ferg

我认为这至少是进步. [09年1月23日下午2:40]

标签:tkinter,easygui,python,user-interface
来源: https://codeday.me/bug/20191024/1921781.html