Ⅰ. 核心和基础模块 (Essentials)
这些是 Qt 的骨干,提供非 GUI 基础。
| 模块名称 | 核心功能 |
|---|
| Qt Core | 基础核心: 对象模型 (QObject)、信号与槽、QString、QByteArray、文件/I/O、日期/时间、事件处理、计时器、线程。 |
| Qt Network | 网络通信: TCP/UDP 套接字 (QTcpSocket, QUdpSocket)、HTTP 客户端 (QNetworkAccessManager)、DNS 解析。 |
| Qt Sql | 数据库集成: 统一的数据库访问接口 (QSqlDatabase)、SQL 查询执行、模型视图集成。 |
| Qt Test | 单元测试: 编写和运行单元测试、基准测试,用于验证 Qt 应用程序和库。 |
| Qt Concurrent | 并行编程: 简化多线程和多核计算(map, filter, reduce 算法和 QtConcurrent::run())。 |
| Qt D-Bus | 进程间通信 (Unix/Linux): 基于 D-Bus 协议的 IPC 机制,用于 Linux 系统集成。 |
| Qt SCXML | 状态机: 实现 SCXML (状态图 XML) 标准,用于创建和运行复杂的状态机。 |
| Qt Xml | XML 处理: 提供 DOM 和 SAX 接口,用于 XML 文件的解析和生成。 |
| Qt Json (Qt Core的一部分) | JSON 处理: QJsonDocument, QJsonObject 等类,用于 JSON 数据的序列化和反序列化。 |
Ⅱ. GUI 和 UI 框架模块 (UI Frameworks)
用于构建图形用户界面。
| 模块名称 | 核心功能 |
|---|
| Qt GUI | 图形基石: 2D 绘图 (QPainter)、字体 (QFont)、颜色 (QColor)、图像 (QImage/QPixmap)、剪贴板、OpenGL 集成。 |
| Qt Widgets | 传统桌面控件: 全套 C++ 桌面控件,如窗口 (QWidget, QMainWindow)、按钮 (QPushButton)、输入框 (QLineEdit)、布局管理器。 |
| Qt PrintSupport | 打印支持: 提供打印对话框、打印预览和打印配置功能。 |
| Qt Quick | QML 运行时: 基于 QML 语言的声明式 UI 框架,用于创建高性能、动画丰富的 UI。 |
| Qt Quick Controls | 现代 QML 控件: 提供一套现代、轻量级的 UI 控件供 QML 使用。 |
| Qt Quick Layouts | QML 布局: 提供 QML 中的高级布局管理功能。 |
| Qt Quick Widgets | 混合 UI: 允许在传统 QWidget 中嵌入 QML 界面 (QQuickWidget)。 |
| Qt WebView | 轻量级 Web 视图: 使用系统原生的 API 显示 Web 内容(不包含完整的 Chromium 堆栈)。 |
Ⅲ. 媒体、图形和渲染模块 (Media, Graphics & Rendering)
| 模块名称 | 核心功能 |
|---|
| Qt Multimedia | 音视频支持: 播放音频/视频 (QMediaPlayer)、录制、摄像头访问和处理。 |
| Qt Charts | 2D 数据图表: 用于创建和显示各种 2D 图表(线图、柱状图、饼图等)。 |
| Qt Data Visualization | 3D 数据图表: 用于创建 3D 柱状图、曲面图和散点图。 |
| Qt Svg | SVG 格式: 对可伸缩矢量图形(SVG)的渲染和处理。 |
| Qt 3D Core/Render/Input | 3D 框架: 完整的 3D 渲染、场景管理、物理、动画和输入处理框架。 |
| Qt Quick 3D | QML 3D 集成: 将 3D 内容和动画无缝集成到 QML 界面中。 |
| Qt Lottie | Lottie 动画: 支持在 Qt 应用程序中渲染 Lottie 动画格式。 |
Ⅳ. 硬件、物联网和定位模块 (IoT, Hardware & Location)
| 模块名称 | 核心功能 |
|---|
| Qt Sensors | 传感器访问: 统一访问设备传感器(加速度计、陀螺仪、光线等)。 |
| Qt Bluetooth | 蓝牙通信: 提供对经典蓝牙和低功耗蓝牙 (BLE) 的支持。 |
| Qt SerialPort | 串行通信: 跨平台访问和控制串口(RS-232/USB 转串口)。 |
| Qt CoAP | 物联网协议: 实现约束应用协议 (CoAP),用于受限设备。 |
| Qt MQTT | 物联网协议: 实现 MQTT 协议,用于轻量级消息传递。 |
| Qt OPC UA | 工业通信: 支持 OPC Unified Architecture 协议,用于工业自动化。 |
| Qt Location | 地理位置: 提供定位、地图、导航和地理编码功能。 |
| Qt NFC | 近场通信: 访问和处理 NFC 标签。 |
| Qt Gamepad | 游戏控制器: 支持各种游戏手柄和控制器的输入。 |
Ⅴ. 平台特定和遗留模块 (Platform-Specific & Add-ons)
这些模块主要用于与特定操作系统功能或旧技术集成。
| 模块名称 | 核心功能 |
|---|
| Qt Android Extras | Android 集成: 提供访问 Android JNI 和平台特定 API 的功能。 |
| Qt WinExtras | Windows 扩展: 访问 Windows 7+ 特有功能,如任务栏跳转列表、Aero 效果等。 |
| Qt MacExtras | macOS 扩展: 访问 macOS 特有功能,如 Dock 菜单、通知中心。 |
| Active Qt (QAxContainer/QAxServer) | (Windows 独有) 用于使用 ActiveX 控件和 COM 对象,或将 Qt 应用程序暴露为 COM 服务器。 |
| Qt Wayland Compositor | Linux 桌面集成: 用于开发基于 Wayland 协议的 Compositor(显示管理器)。 |
| Qt Quick Test | QML 测试: 用于 QML 应用程序的单元测试框架。 |
| Qt Quick Dialogs | QML 系统对话框: 允许 QML 访问文件选择、颜色选择等系统对话框。 |
| Qt Help | 文档集成: 用于在应用程序中集成和显示文档 (QHelpEngine)。 |
| Qt Linguist | 翻译工具支持: 运行时加载和应用翻译文件 (.qm)。 |
注意: Qt 提供了超过 70 个模块,这个列表涵盖了绝大多数功能。很多未列出的是更底层、用于工具链(如 qmake、cmake 支持模块)或特定内部架构的小型支持模块。