2010-10-07 278 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