0

我有一个 QT 应用程序。

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

我也有自己的线程(例如thread2)必须通知 thread1 更新我的 GUI。有一种快速的方法可以做到这一点吗?例如:thread2 可能决定更新图像:因此,他应通知 thread1 执行该方法changeImage()

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

4

1 回答 1

3

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

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

于 2013-06-28T18:00:27.407 回答