QApplication
QApplication是Qt框架中最重要的基础类之一,专门用于管理GUI应用程序的控制流和核心设置,作QtWidget模块的核心控制器。
核心职责
- 事件循环管理:通过
exec()
启动的消息泵(message pump)持续处理系统事件(鼠标、键盘、窗口事件)。 - 资源协调:统一管理字体、光标、调色板等GUI资源。
- 跨平台抽象:处理不同操作系统底层消息机制的差异。
- 信号时槽机制:提供跨线程通信的基础设施
典型使用场景
#include <QApplication>
#include <QLabel>int main(int argc, char *argv[])
{QApplication app(argc, argv); // 必须在创建任何窗口前实例化QLabel label("Hello Qt!");label.show();return app.exec(); // 进入主事件循环
}
关键特性对比
特性 | QApplication | QGuiApplication | QCoreApplication |
---|---|---|---|
适用场景 | Widgets程序 | QML/Quick程序 | 无界面控制台程序 |
资源占用 | 高 | 中 | 低 |
依赖模块 | Widgets | GUI | Core |