QApplication 類 管理GUI程序的控制流和主設置。
QApplication 包含主事件循環。所有來自窗口系統和其他源的事件將被處理和分配。它也處理程序的初始化,析構和提供會話管理。
對於非GUI的用QCoreApplication 代替QApplication,它不依賴QtGui庫。
qApp是一個全局的指針,指向QApplication的對象。
QApplication的主要職責如下:
1,初始化程序的用戶桌面設置,如palette(),font(),doubleClickInterval()(鼠標雙擊的時間間隔),並一直監視這些屬性,以防用戶改變他們(得到及時的更新)。
2,處理事件,意思是它接收來自底層窗口系統的事件,並把他們分發給關聯的窗口,通過sendEvent(),postEvent(),你可以把你自己的事件發給部件。
3,解析命令行參數。
4,定義程序的觀感(被封裝在QStyle 對象中)。通過setStyle()可以實時的改變。
5,它知道程序的窗口信息。可以通過widgetAt(),還可以得到一個窗口列表通過topLevelWidgets(),然后通過closeAllWindows()關閉所有窗口。
6,還管理鼠標操作。
7,它還提供一個復雜的會話管理。它使程序在用戶退出時可以“優美”的結束,或者如果干掉一個進程如果這個進程不能保留程序之前的狀態(對會話管理不了解,翻譯的不准確)
由於QApplication對象做了這么多初始化操作,所以它必須在所以與用戶接口有關的對象創建之前被創建。