我有一個框架,一旦用戶點擊退出按鈕,我想要一個對話框打開並詢問他是否真的想關閉窗口。如何在wxPython中引發wx.EVT_CLOSE之後停止關閉窗口?
所以我做:
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
,然後我有回調:
def OnCloseWindow(self, event):
dialog = wx.MessageDialog(self, message = "Are you sure you want to quit?", caption = "Caption", style = wx.YES_NO, pos = wx.DefaultPosition)
response = dialog.ShowModal()
if (response == wx.ID_YES):
Pairs = []
self.list_ctrl_1.DeleteAllItems()
self.index = 0
self.Destroy()
elif (response == wx.ID_NO):
wx.CloseEvent.Veto(True)
event.Skip()
這工作,但我得到的錯誤:
TypeError: unbound method Veto() must be called with CloseEvent instance as first argument (got bool instance instead)
如何趕上引發事件的closeWindows實例?
嗯,在我的代碼中,似乎我甚至不需要它。如果我捕獲該事件並且不顯式調用'self.Destroy()',則該窗口不會關閉。我也不會調用'event.Skip()'。我或者自己關閉窗戶。就是這樣。 – Fenikso 2014-10-10 15:06:08
你可以發佈你的代碼嗎?不太明白你做了什麼! – 2014-10-10 16:46:36