Qt 必需定义所有平台的 Qt 基础。可用于所有支持开发平台和测试目标平台。除测试模块外,其将保留源代码兼容,这些模块将在整个 Qt 6 中保留源代码和二进制兼容。
必需模块对于大多数 Qt 应用程序而言,是通用和有用的。用于特殊目的的模块被视为附件模块,即使它可用于所有支持平台。
下表列出了 Qt 必需:
| 模块 | 描述 | 
|---|---|
| Qt Core | 用于其它模块的核心非图形类。 | 
| Qt D-Bus | 透过 D-Bus 协议进行进程间通信的类。 | 
| Qt GUI | 用于 GUI (图形用户界面) 组件的基类。 | 
| Qt Network | 使网络编程更容易和更可移植的类。 | 
| Qt Qml | QML 和 JavaScript 语言类。 | 
| Qt Quick | 以自定义用户界面 UI 构建高动态应用程序的声明性框架。 | 
| Qt Quick Controls | 为桌面、嵌入式及移动设备创建高性能用户界面提供轻量 QML 类型。这些类型运用简单样式化体系结构且非常高效。 | 
| Qt Quick Dialogs | 用于从 Qt Quick 应用程序创建系统对话框,并与之交互的类型。 | 
| Qt Quick Layouts | 布局是用于在用户界面中排列基于 Qt Quick 2 项的项。 | 
| Qt Quick Test | 
								 用于 QML 应用程序的单元测试框架,其测试案例被编写成 JavaScript 函数。 注意: 二进制保证不兼容 Qt Quick Test,但源代码仍兼容。  | 
						
| Qt Test | 
								 单元测试 Qt 应用程序和库的类。 注意: 二进制保证不兼容 Qt Test,但源代码仍兼容。  | 
						
| Qt Widgets | 以 C++ 小部件扩展 Qt GUI 的类。 | 
Qt Add-On 模块为特定目的,带来额外价值。这些模块只可用于某些开发平台。许多附件模块要么特征完整,要么是为向后兼容而存在的,或仅适用于某些平台。每个附件模块,分别指定其兼容性承诺。
Qt 安装程序包括下载附件的选项。更多信息,拜访 Qt 快速入门 页面。
下表列出了 Qt 附件:
| 模块 | 开发平台 | 目标平台 | 描述 | 
|---|---|---|---|
| Active Qt | Windows | Windows | 使用 ActiveX 和 COM 的应用程序类 | 
| Qt 3D | 所有 | 所有 | 支持 2D 3D 近实时仿真系统渲染功能。 | 
| Qt 5 Core Compatibility APIs | 所有 | 所有 | 在 Qt 5 中而非 Qt 6 中的 Qt Core API。 | 
| Qt Bluetooth | 所有 | Android , iOS , Linux , Boot to Qt , macOS and Windows | 提供对蓝牙硬件的访问。 | 
| Qt Concurrent | 所有 | 所有 | 用于编写多线程程序 (无需使用低级线程原语) 的类。 | 
| Qt Help | 所有 | 所有 | 用于将文档编制集成到应用程序中的类。 | 
| Qt Image Formats | 所有 | 所有 | 额外图像格式插件:TIFF MNG TGA WBMP。 | 
| Qt Multimedia | 所有 | 所有* | 用于处理多媒体内容的一组丰富 QML 类型和 C++ 类。还包括用于处理相机访问的 API。 | 
| Qt NFC | 所有 | Android , iOS , macOS , Linux and Windows | 提供对 NFC (近场通信) 硬件的访问。在桌面平台,NDEF 访问仅支持 Type 4 标签。 | 
| Qt OPC UA | 所有 | 所有 (除了 QNX、WebAssembly) | 工业应用程序中用于数据建模和数据交换的协议。 | 
| Qt OpenGL | 所有 | 所有 | 使在 Qt 应用程序中易于使用 OpenGL 的 C++ 类。单独库 Qt OpenGL Widgets C++ 类 为渲染 OpenGL 图形提供 Widget。 | 
| Qt PDF | 所有 | Windows , Linux ,和 macOS . | 用于渲染 PDF 文档的类和函数 | 
| Qt Positioning | 所有 | Android , iOS , macOS , Linux and Windows | 提供对位置、卫星信息和区域监视的访问的类。 | 
| Qt Print Support | 所有 | All (except iOS) | 使打印更轻松,更便携的类。 | 
| Qt Quick Widgets | 所有 | 所有 | 提供用于显示 Qt Quick 用户界面的 C++ Widget 类。 | 
| Qt Quick Effects | 所有 | 所有 | 提供用于将一个或多个简单图形效果应用于 Qt Quick 项的 QML 类型。 | 
| Qt Quick Particles | 所有 | 所有 | 提供用于粒子效果的 QML 类型。 | 
| Qt Remote Objects | 所有 | 所有 | 提供易于使用的机制为共享 QObject 的 API (特性/信号/槽) 在进程或设备之间。 | 
| Qt SCXML | 所有 | 所有 | 提供用于从 SCXML (状态图表 XML) 文件创建状态机,并将它们嵌入应用程序的类和工具。 | 
| Qt Sensors | 所有 | Android , iOS ,和 Windows | 提供对传感器硬件的访问。 | 
| Qt Serial Bus | 所有 | Linux , Boot to Qt , macOS and Windows | 提供对串行工业总线接口的访问。目前,模块支持 CAN 总线和 Modbus 协议。 | 
| Qt Serial Port | 所有 | Linux , Boot to Qt , macOS and Windows | 提供同硬件和虚拟串行端口交互的类。 | 
| Qt Shader Tools | 所有 | 所有 | 为跨平台 Qt 着色器管道提供工具。这使处理图形和计算着色器能够用于 Qt Quick 和 Qt 生态系统中的其它组件。 | 
| Qt Spatial Audio | 所有 | 所有 | 提供对空间音频的支持。在 3D 空间创建包含不同声源和房间相关特性 (譬如:混响) 的声音场景。 | 
| Qt SQL | 所有 | 所有 | 集成使用 SQL 数据库的类。 | 
| Qt State Machine | 所有 | 所有 | 提供用于创建和执行状态图形的类。 | 
| Qt SVG | 所有 | 所有 | 用于显示 SVG 文件内容的类。支持子集 SVG 1.2 Tiny 标准。单独库 Qt SVG Widgets C++ 类 为在小部件 UI 中渲染 SVG 文件提供支持。 | 
| Qt TextToSpeech | 所有 | 所有 | 提供从文本合成语音,并将它作为音频输出播放的支持。 | 
| Qt UI Tools | 所有 | 所有 | 类为加载 QWidget 基于创建表单在 Qt Designer 动态,在运行时。 | 
| Qt WebChannel | 所有 | 所有 | 提供访问 QObject 或 QML 对象从 HTML 客户端,为无缝集成 Qt 应用程序与 HTML/JavaScript 客户端。 | 
| Qt WebEngine | 所有 | Windows , Linux ,和 macOS . | 把 Web 内容嵌入应用程序的类和函数,采用 Chromium 浏览器工程 . | 
| Qt WebSockets | 所有 | 所有 | 提供 WebSocket 通信,兼容 RFC 6455 . | 
| Qt WebView | 所有 | 采用本机 Web 引擎的平台。 | 通过使用平台本机 API 在 QML 应用程序中显示 Web 内容,无需包括完整 Web 浏览器堆栈。 | 
| Qt XML | 所有 | 所有 | 在 DOM (文档对象模型) API 中的 XML 处理。 | 
| 
									
									 可用于商业许可或 GNU GPL (一般公共许可) v3 下的附件  | 
							|||
| Qt Charts | 所有 | 所有 | 用于显示视觉上令人愉悦的图表 (由静态或动态数据模型驱动) 的 UI 组件。 | 
| Qt CoAP | 所有 | 所有 | 实现 RFC 7252 定义的 CoAP 客户端侧。 | 
| Qt Data Visualization | 所有 | 所有 | 用于创建惊人 3D 数据可视化的 UI 组件。 | 
| Qt Lottie Animation | 所有 | 所有 | 以 JSON 格式渲染图形和动画的 QML API,导出通过 Bodymovin 插件 for Adobe® After Effects。 | 
| Qt MQTT | 所有 | 所有 | 为 MQTT 协议规范提供实现。 | 
| Qt Network Authorization | 所有 | 所有 | 为基于 OAuth 的在线服务授权提供支持。 | 
| Qt Quick 3D | 所有 | 所有 | 提供基于 Qt Quick,创建 3D 内容或 UI 的高级 API。 | 
| Qt Quick 3D Physics | 所有 | 除 QNX 和 INTEGRITY 外的所有支持平台。 | Qt Quick 3D Physics 为添加物理模拟能力到 Qt Quick 3D 提供高级 QML 模块。 | 
| Qt Quick Timeline | 所有 | 所有 | 启用基于关键帧的动画和参数化。 | 
| Qt Virtual Keyboard | 所有 | Linux and Windows 桌面,及 Boot to Qt 目标。 | 用于实现不同输入法及 QML 虚拟键盘的框架。支持本地化键盘布局和自定义视觉主题。 | 
| Qt Wayland Compositor | Linux | Linux and Boot to Qt 目标。 | 提供开发 Wayland 合成器的框架。 | 
注意: 所有* 指除 INTEGRITY 外的所有支持平台。
以下附件仍在开发中,但可用作技术预览:
| 模块 | 开发平台 | 目标平台 | 描述 | 
|---|---|---|---|
| Qt HTTP Server | 所有 | 所有 | 将 HTTP 服务器嵌入 Qt 应用程序的框架。 | 
| Qt Protobuf | 所有 | 所有 | 提供从 protobuf 规范生成基于 Qt 的类的能力。 | 
| Qt Graphs | 所有 | 所有 | 提供按条形图、散点图及表面图形,可视化 3D 数据的功能。 | 
| Qt GRPC | 所有 | 所有 | 提供从 protobuf 规范生成基于 Qt 的类的能力,用于通信与 gRPC ® 服务。 | 
| Qt Location | 所有 | 所有 | 提供 QML 和 C++ 接口以创建定位感知应用程序。 | 
我们邀您探索 Qt 的其余部分。我们准备的概述帮助您决定要使用哪些 API,示例演示如何使用 API。