WxPython window 没有关闭
WxPython window not closing
我学会了如何使用 WxPython 检测 window 关闭,但我遇到了问题。当我单击右上角的 'X' 时,我希望出现一个对话框,上面写着 'Are you sure you want to exit?' 和 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()
我学会了如何使用 WxPython 检测 window 关闭,但我遇到了问题。当我单击右上角的 'X' 时,我希望出现一个对话框,上面写着 'Are you sure you want to exit?' 和 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()