Ho un'applicazione Qt con questo tipo di main() ...Qt: C'è una notifica all'avvio del loop evento?
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();
}
Questo altro thread che viene creato prima della MainWin ha bisogno di sapere quando si può iniziare a comunicare con il MainWin. Ma dal momento che mainWin utilizza segnali, slot, timer, ecc., Qt non è veramente pronto a suonare fino a quando non viene eseguito il ciclo degli eventi (tramite exec()).
La mia domanda è: c'è qualche segnale o evento che viene emesso quando il ciclo degli eventi è iniziato?
Considerate questo. In mainWin.Init(), puoi creare qualcosa come un QTimer e persino chiamare .start() per avviarlo. Ma in realtà non verrà eseguito e non innescherà eventi fino a quando exec() non sarà stato chiamato. Questo è il motivo per cui ho bisogno di sapere quando il ciclo degli eventi è veramente iniziato.
Il thread è un thread Qt o nativo? – UmNyobe