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