У меня есть приложение Qt с таким видом main () ...
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 (). Вот почему мне нужно знать, когда цикл событий действительно начался.