我有一个派生自QThread: class MyClass : public QThread
. 在运行方法中,我有“我自己的”消息循环:
run() {
// exec(); // while not reached
while (_runMessageLoop && ...) {
hr = CallDispatch(.....);
if (hr== 0) QThread::msleep(100);
// QCoreApplication::processEvents(); // Does not work
}
}
由于exec()
没有执行,我没有Qt 事件循环。这显然会导致信号/插槽无法正常工作。有没有机会将 Qt 和我自己的消息循环结合起来?或者我是否需要一个频繁触发的计时器来完成我在无限循环中完成的工作?