从GUI小部件更新QThread



我曾多次看到这个问题被反过来问过——如何从子类QThread更新GUI——但我实际上想反过来做。我有一个应用程序,它可以连续无限地显示来自相机的提要,相机在一个单独的线程中运行。我使用QThread的信号在GUI中显示了摄像头提要。相机控件在主GUI窗口中,我希望能够将这些更新发送到已经运行的相机线程。最好的方法是什么?谢谢

如果您使用的是运行事件循环的默认QThread::run()实现,那么您可以在类上创建一个槽,并将其作为QueuedConnection调用(应该自动发生(。

否则,您将需要使用标准的线程同步原语,如QMutex来安全地访问来自两个线程的相同数据。

最新更新