[英]wxPython window won't close
當您單擊“取消”時,它會取消... 當您單擊“確定”時,它會重新彈出對話框。 我怎樣才能解決這個問題?
def quitApp(self, event):
dial = wx.MessageDialog(None, 'Are you sure you want to quit?','Quit', wxYES | wxNO)
if dial.ShowModal() == wxID_YES:
self.Close(true)
會不會是系統 CloseEvent 處理程序調用了 quitApp? 在這種情況下,self.Close(true) 只會觸發一個新的 CloseEvent,在這種情況下它將再次調用 quitApp 並顯示一個新的對話框......等等。
我建議您使用 sys.exit(0) 而不是 self.Close(true) 退出應用程序。
在不了解更多信息的情況下(請參閱我的評論),我可以采取一些措施:
self
是一個 App,那么self.ExitMainLoop()
將關閉程序。self
是一個 Frame,那么self.Close(True)
是合適的。self
是其他任何東西,那么sys.exit(0)
將關閉 Python 解釋器並關閉程序。您需要提供更多代碼。 看起來其他東西正在觸發quitApp
function。 你的 function 沒有循環。 它可能正在循環,因為它試圖關閉並且事件不斷被調用。 嘗試使用self.Destroy()
來關閉框架。
def CloseTheProgram( self, event ): dial = wx.MessageDialog(None, 'Are you sure you want to quit?','Quit', wx.YES | wx.NO) if dial.ShowModal() == wx.ID_YES: self.Close(True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.