我正在将视频播放器从 PyTk 移植到 wxWidgets。
我有一个单独的工作线程,每 30 毫秒将事件推送到主应用程序wx.PostEvent
(基于这些说明:http ://wiki.wxpython.org/Non-Blocking%20Gui )。主应用程序应该从视频文件中读取一个新帧并显示它。事件被正确接收和处理(通过调试语句确认),但屏幕上的实际图像不会更新。GUI 仅在工作线程终止后更新——所以我只能看到最后一帧。
我的帧读取和显示代码工作正常——我已经使用滑块对其进行了测试。我无法弄清楚 GUI 不更新的原因。
在 PyTk 中,有一个名为 update_idletasks 的方法可以强制重新绘制小部件。我有一种感觉,我需要在 wxWidgets 中做类似的事情——是这样吗?如果是,那么 wxWidgets 替代 update_idletasks 是什么?