具有多个线程的Qt应用程序

Qt application with multiple threads

本文关键字:Qt 应用程序 线程      更新时间:2023-10-16

我有一个QT应用程序。

我有一个线程(例如thread1)显示我的主窗口(所以这与主线程不同)。

我还有自己的线程(例如thread2)必须通知thread1更新我的GUI。有什么快速的方法吗?例如:thread2可能决定更新图像:因此,他应通知thread1执行方法changeImage()

如果我直接从thread2运行这个方法,我的应用程序就会崩溃。我必须使用pthread。

只有主线程应该更新GUI(由于图形系统的限制)。

然而,Qt增强了跨线程的信号槽连接所允许的线程支持。事实上,其他线程必须使用信号通知主线程(emit my_signal()参见http://qt-project.org/doc/qt-4.8/signalsandslots.html)或使用CCD_ 3(http://qt-project.org/doc/qt-4.8/qcoreapplication.html#postEvent-2)