我將一個視頻播放器從PyTk移植到wxWidgets。wxWidgets相當於PyTk的update_idletasks?
我有一個單獨的工作線程,通過wx.PostEvent
每30ms將事件推送到主應用程序(根據這些指令:http://wiki.wxpython.org/Non-Blocking%20Gui)。主應用程序應該從視頻文件中讀取一個新幀並將其顯示出來。事件被正確接收和處理(通過調試語句確認),但屏幕上的實際圖像不會更新。 GUI只會在工作線程終止後纔會更新 - 所以我只能看到最後一幀。
我的框架閱讀和顯示代碼工作正常 - 我已經使用滑塊測試了它。我無法弄清楚GUI不更新的原因。
在PyTk中,有一個名爲update_idletasks的方法強制重繪窗口小部件。我有一種感覺,我需要在wxWidgets中做類似的事情 - 情況如何?如果是,那麼什麼是wxWidgets替代update_idletasks?
你是對的。在事件處理代碼中,我必須調用self.Refresh(),然後再調用self.Update()才能工作。謝謝。 – misha 2013-03-22 13:49:43