1
據我所知,我的問題源於使用wxApp。wxPython:MainLoop()似乎掛起
在一個litte子例程中,我調用一個wx.MessageDialog來請求yes或no。我根據需要檢索某個過程的答案。 下面其實我的示例代碼工作(儘管它可能是醜陋的),除了對話框保持擊中其中一個按鈕後打開...
import wx
from os import path
def HasFile(filename):
if path.isfile(filename):
app = wx.App()
dial = wx.MessageDialog(None,
'Die Datei "'+filename+'" wurde gefunden.\nSoll sie eingelesen werden?',
'Bitte antworten',
wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION)
result = dial.ShowModal()
dial.EndModal(retCode=0)
dial.Destroy()
app.MainLoop()
return result == wx.ID_YES
else:
return False
因此,儘管該計劃的其餘部分也無論是預期,盒子就坐在那裏。 這也似乎是我後來對matplotlib的調用正在產生錯誤(Tkinter錯誤是準確的),也許是因爲wx的東西?
編輯:我試圖通過調用app.Destroy()來結束應用程序。這並沒有改變箱子仍然存在的事實。當我發出一個app.IsActive()後,整個程序退出(幾乎就像一個sys.exit())!怎麼來的?
編輯2:像這樣添加一個wxApp不是一個好主意,因爲其他腳本也會受到影響。後續的繪圖命令不會顯示,我不知道如何解決這個問題。因此我決定全部刪除DialogBox。