【发布时间】:2012-02-11 04:19:57
【问题描述】:
我有一个带有这种 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() 之前,它实际上不会运行并触发事件。这就是为什么我需要知道事件循环何时真正开始。
【问题讨论】:
-
你的线程是 Qt 线程还是原生线程?
标签: qt events signals-slots event-loop