[英]wxPython MessageDialog - How to query status?
我正在運行一個wxTimer,我想在打開MessageDialog之前先停止它,然后在MessageDialog關閉后重新啟動。
我該怎么做? 我沒有找到任何可以告訴我對話框是否已關閉的方法。
目前,計時器基本上只是繼續滴答,並且每次滴答都會打開越來越多的窗口:(
希望您能夠幫助我。 謝謝!
wxPython實際上並沒有確定MessageDialog是否打開的任何機制。 相反,您可以手動跟蹤對話框是否打開。
如果使用ShowModal
打開MessageDialog,則關閉對話框時將返回ShowModal
調用。 您可以在調用ShowModal
之前使用設置為True
的標志,然后再使用False
設置標志,例如:
self.is_dialog_open = True
dialog.ShowModal()
self.is_dialog_open = False
然后,您的wx.Timer調用的方法可以使用self.is_dialog_open
來確定對話框是否打開。
根據應用程序的結構,您可能希望將此標志存儲在其他對象中而不是self
。
(我不能保證此代碼不會出現爭用情況。如果您的計時器碰巧在ShowModal()
返回之后但self.is_dialog_open
設置回False
之前檢查是否打開了對話框,則您的計時器會在實際上關閉對話框的情況下認為對話框是打開的。希望這對您來說不是一個嚴重的問題。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.