簡體   English   中英

wxPython MessageDialog-如何查詢狀態?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM