2010-10-07 280 views

回答

4

没有,打电话exec将:

进入主事件循环,等待 直到退出()被调用,然后返回所设定退出) 值( (这是0,如果退出()通过 quit()调用。

有必要调用此函数 来启动事件处理。主要的 事件循环接收来自 窗口系统的事件,并将这些事件分派给 应用程序小部件。

+0

我想在单独的线程中执行qapplication.exec(),并在第二个线程中执行一些其他处理。如果我直接使用exec(),那么我的主线程永远不会被调用,直到我调用exit()并且它没有任何意义,因为退出时我的exe将关闭。你可以在这个 – ruby 2010-10-07 10:34:35

+3

提供一些方向'QApplication :: exec()'必须从主线程调用。如果你想在另一个线程上工作,通过一切手段创建一个'QThread'。使用信号/插槽在主线程(UI)和'QThread'之间进行通信。 – 2010-10-07 12:33:14