から派生したクラスがありQThread: class MyClass : public QThread
ます。runメソッドには、「自分の」メッセージループがあります。
run() {
// exec(); // while not reached
while (_runMessageLoop && ...) {
hr = CallDispatch(.....);
if (hr== 0) QThread::msleep(100);
// QCoreApplication::processEvents(); // Does not work
}
}
exec()
は実行されないため、 Qtイベントループはありません。これにより、信号/スロットが正しく機能しなくなります。Qtと私自身のメッセージループを組み合わせる機会はありますか?または、無限ループで達成したことを実行するために、頻繁に起動するタイマーが必要ですか?