我有一个带有这种 main() 的 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() 之前,它实际上不会运行并触发事件。这就是为什么我需要知道事件循环何时真正开始。