QApplication exec() 创建新线程/进程?

rub*_*uby 3 qt

在 QApplication 中,如果我们调用 exec() 那么是否会启动一个新进程/线程?

Ida*_*n K 5

不,调用exec将:

进入主事件循环并等待 exit() 被调用,然后返回设置为 exit() 的值(如果 exit() 通过 quit() 调用,则为 0)。

需要调用这个函数来启动事件处理。主事件循环从窗口系统接收事件并将这些事件分派给应用程序小部件。

  • `QApplication::exec()` 必须从主线程调用。如果你想在另一个线程上工作,一定要创建一个 `QThread`。使用信号/插槽在主线程 (UI) 和 `QThread` 之间进行通信。 (4认同)