我正在使用第三方库,我希望在某些事件中回调UI(用qt编写)。我使用UI的函数指针重新调用回调,但是当我收到回调时,我得到以下错误 “QObject :: startTimer:QTimer只能用于以QThread启动的线程”和 “QPixmap:在GUI线程之外使用pixmaps是不安全的” 和分段错误。
我搜索并发现我无法直接调用UI函数,因为它是在另一个线程中调用的
我想知道如何注册回调函数来更新UI。
答案 0 :(得分:1)
解决方案有三个:
仅当您还希望在工作线程内接收信号时,例如来自用户输入的反馈(如“取消”按钮),您的工作线程中也需要一个QT事件循环。如果要在工作线程w / o事件循环中触发一个插槽,你的QTimer就不会工作了。
答案 1 :(得分:0)
嗯,听起来你需要两件事:
我认为这可以解决互操作问题。