如何将数据从另一个线程发送到GUI线程中的QOpenGLWidget对象?

6qqygrtg  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(132)

我有一个GUI线程,其中创建了QOpenGLWidget对象。我使用另一个线程来处理数据,并为图像生成RGBA值。
我无法在数据处理线程中调用QOpenGLWidget对象。
如何将数据从数据处理线程发送到QOpenGLWidget对象?
(The数据处理线程是使用boost创建的,因此我无法使用需要QThread的moveToThread()

suzh9iv8

suzh9iv81#

不要使用QThread和信号槽进行“实时”数据通信,因为它是有漏洞的。您应该使用SafeQueue架构,如下所示:https://codetrips.com/2020/07/26/modern-c-writing-a-thread-safe-queue/
并记住处理队列大小以避免溢出。

相关问题