私がメインのこのような(とQtアプリケーションを持っている)...Qt:イベントループが始まると通知がありますか?
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow mainWin;
... A separate, non-GUI thread is launched here
mainWin.Init();
mainWin.show();
app.exec();
}
のMainWinはそれがのMainWinとの通信を開始することができたときに知っておく必要があります前に作成されます。この他のスレッド。しかし、mainWinはQtシグナル、スロット、タイマーなどを使用しているので、イベントループが実行されるまで(exec()を介して)本当にロックする準備はできていません。
私の質問です:イベントループが開始されたときに放出されるシグナルまたはイベントがありますか?
これを考慮してください。 mainWin.Init()では、QTimerのようなものを作成し、起動するために.start()を呼び出すことさえできます。しかし、実際には実行されず、exec()が呼び出されるまでイベントがトリガーされます。このため、イベントループが本当に始まったかどうかを知る必要があります。
あなたのスレッドはQtスレッドかネイティブですか? – UmNyobe