求解答
报错信息:wx._core.wxAssertionError: C++ assertion "wxThread::IsMain()" failed at ....\src\msw\evtloop.cpp(176) in wxGUIEventLoop::Dispatch(): only the main thread can process Windows messages
我用多线程运行
_thread = Thread(target=self.open_Dialog, args=())
_thread.daemon = True
_thread.start()
wxpython库中的wx.Dialog()需要运行在主线程,我用其他线程怎么运行不报错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
陈年椰子 2022-01-19 08:51关注这个dialog 要完成什么功能?
关于界面的部分, 要在主线程里完成, 可以通过线程调用 pubsub 发消息给wxpython ,然后通过主窗体里的方法完成。
参考下这个,WxPython 界面利用pubsub与线程通讯_预则立-CSDN博客 WxPython 4.0 以后不用wx.lib.pubsub 来做消息通讯了, 改用pubsub , 如果继续用wx.lib.pubsub , 会有以下警告提示:>>> from wx.lib.pubsub import pubWarning (from warnings module): File "D:\Python\Python37\lib\site-pa...https://blog.csdn.net/seakingx/article/details/91807771
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报