一、QApplication、QGuiApplication、QCoreApplication 简介
1、继承关系见下图,其中左侧为顶级父类
2、一个程序中只能有一个 QCoreApplication 及其子类的对象。
3、QCoreApplication:主要提供无 GUI 程序的事件循环。
4、QGuiApplication:用于管理 GUI 程序的控制流和主要设置。
5、QApplication:该类专门为 QGuiApplication 提供基于 QWidget 的程序所需的一些功能,主要用于处理部件的初始化、最终化。主要职责如下:
-
使用用户的桌面设置初始化应用程序。
-
执行事件处理,也就是说该类能从底层系统接收并分发事件。比如,使用
QCoreApplication::sendEvent()或 QCoreApplication::postEvent()函数分发自定义事件。
-
解析常用命令行参数并设置其内部状态。
-
定义了应用程序的界面外观,可使用 QApplication::setStyle()进行更改。
-
指定应程程序如何分配颜色。
-
使用 QCoreApplication::translate()函数对字符串进行转换。
-
通过 QApplication::desktop()函数处理桌面,通过 QCoreApplication::clipboard()函数