У меня есть класс, производный от 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 и мой собственный цикл сообщений? Или мне нужен часто срабатывающий таймер, чтобы делать то, что я сделал в своем бесконечном цикле?