[英]WxPython window not closing
我学习了如何使用 WxPython 检测 window 关闭,但我遇到了问题。 当我点击右上角的“X”时,我希望会出现一个对话框,上面写着“您确定要退出吗?” 并出现 2 个按钮,是或否。 那也行。 但是当我单击“是”时,它应该关闭,但是当我单击“否”时,它应该不会关闭。 否工作正常但是当我单击是时,对话框关闭并再次打开,我无法关闭主应用程序......我不得不使用任务管理器......我做错了什么? 请帮助我:这是我的关闭功能:
def OnExit(self, event):
if event.GetEventType() == wx.EVT_CLOSE.typeId:
dial = wx.MessageDialog ( None, 'Are you sure you want to exit?', 'Exclamation',
wx.YES_NO | wx.ICON_EXCLAMATION )
if dial.ShowModal() == wx.ID_NO:
pass
else:
self.Close()
请帮我! 任何答复将不胜感激!提前致谢!
毕竟,您是在调用self.Close()
并因此创建一个新的 EVT_CLOSE 事件,从而将您置于无限循环中。
And
,由于if
语句的结构,您不能再使用菜单通过File
-> Quit
关闭程序。
我会建议一些类似的东西。
if event.GetEventType() == wx.EVT_CLOSE.typeId:
dial = wx.MessageDialog ( self, 'Are you sure you want to exit?', 'Exclamation',
wx.YES_NO | wx.ICON_EXCLAMATION )
if dial.ShowModal() == wx.ID_NO:
return
self.Destroy()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.