【发布时间】:2013-07-18 11:11:35
【问题描述】:
我有一个 QT 程序,它从 Kinect 接收 QBytearray,然后将它们处理为 QGLWidget 中屏幕上的可见图像。这个 QGLWidget 在 GUI 线程中运行,就像 GUI 的其余部分一样。触发 Kinect 图像的类在不同的线程中运行。所有粉碎都是通过信号和槽完成的。
有时 GUI 线程会锁定,然后 OpenGLWidget 也会锁定,我想修复它。为此,我需要一个 QT Slot 在与 GUI 的其余部分不同的线程中运行。我知道这是可能的,但我看到的所有示例都使用 run 方法,它在不同的线程中启动,然后自行运行。
但是我使用一个插槽来接收图像,这意味着它不会一直运行,但只有当有图像可用于渲染时才会运行。我可以创建一个线程并将这个槽放在线程中吗?
【问题讨论】:
标签: c++ multithreading qt opengl