Qt 必需定义所有平台的 Qt 基础。可用于所有支持开发平台和测试目标平台。除测试模块外,其将保留源代码兼容,这些模块将在整个 Qt 5 中保留源代码和二进制兼容。
必需模块对于大多数 Qt 应用程序而言,是通用和有用的。用于特殊目的的模块被视为附件模块,即使它可用于所有支持平台。
下表列出了 Qt 必需:
模块 | 描述 |
---|---|
Qt Core | 用于其它模块的核心非图形类。 |
Qt GUI | 图形用户界面 GUI 组件基类。包括 OpenGL。 |
Qt Multimedia | 音频 视频 无线电 摄像头功能类。 |
Qt Multimedia Widgets | 用于实现多媒体功能,基于 Widget 的类。 |
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 SQL | 集成使用 SQL 数据库的类。 |
Qt Test |
单元测试 Qt 应用程序和库的类。
注意: 二进制保证不兼容 Qt Test,但源代码仍兼容。 |
Qt Widgets | 以 C++ 小部件扩展 Qt GUI 的类。 |
若使用
qmake
构建工程,
Qt Core
and
Qt GUI
模块默认情况下是包括的。要仅链接到 Qt Core,把以下行添加到
.pro
文件:
QT -= gui
在 Windows,如不使用
qmake
或其它构建工具,譬如:
CMake
,还需要链接到
qtmain
库。
Qt Add-On 模块为特定目的,带来额外价值。这些模块只可用于某些开发平台。许多附件模块要么特征完整,要么是为向后兼容而存在的,或仅适用于某些平台。每个附件模块,分别指定其兼容性承诺。
Qt 安装程序包括下载附件的选项。更多信息,拜访 Qt 快速入门 页面。
下表列出了 Qt 附件:
模块 | 开发平台 | 目标平台 | 描述 |
---|---|---|---|
Active Qt | Windows | Windows | 使用 ActiveX 和 COM 的应用程序类 |
Qt 3D | 所有 | 所有 | 支持 2D 3D 近实时仿真系统渲染功能。 |
Qt Android Extras | 所有 | Android | 提供 Android 特定平台 API。 |
Qt Bluetooth | 所有 | Android , iOS , Linux , macOS ,和 UWP (*) | 提供对蓝牙硬件的访问。 |
Qt Concurrent | 所有 | 所有 (*) | 用于编写多线程程序 (无需使用低级线程原语) 的类。 |
Qt D-Bus | 所有 | 所有 (*) | 透过 D-Bus 协议进行进程间通信的类。 |
Qt Gamepad | 所有 | Android , iOS , macOS ,tvOS (包括 tvOS 远程), Linux , Windows ,和 QNX | 使 Qt 应用程序能够支持手柄硬件的使用。 |
Qt Graphical Effects | 所有 | 所有 | 用于 Qt Quick 2 的图形效果。 |
Qt Help | 所有 | 所有 (*) | 用于把文档编制集成进应用程序的类,类似 Qt Assistant。 |
Qt Image Formats | 所有 | 所有 | 额外图像格式插件:TIFF MNG TGA WBMP。 |
Qt Location | 所有 | 所有 | 在 QML 应用程序中显示地图、导航和所在地内容。 |
Qt Mac Extras | 所有 | macOS | 提供 macOS 特定平台 API。 |
Qt NFC | 所有 | Android and Linux (*) | 提供对 NFC (近场通信) 硬件的访问。 |
Qt OpenGL (弃用) | 所有 | 所有 (*) |
OpenGL 支持类。弃用代之
QOpenGL*
类在
Qt GUI
模块。
|
Qt Platform Headers | Qt for Windows , Linux , macOS | Qt for Windows , Linux , macOS , Android (*) | 提供的类封装特定平台信息,捆绑给定运行时配置为 平台插件 . |
Qt Positioning | 所有 | Android , iOS , macOS , Linux , UWP (*). | 提供访问位置 卫星和区域监视的类。 |
Qt Print Support | 所有 | 所有 (*) | 使打印更轻松,更便携的类。 |
Qt Purchasing | 所有 | Android , iOS ,和 macOS . | 使在 Qt 应用程序中能够购买 APP 内产品。 |
Qt Quick Controls 1 (弃用) | 所有 | 所有 (*) | 能创建经典桌面样式用户界面,基于可重用 Qt Quick 的 UI 控件。弃用代之 Qt Quick Controls 2,其更好更容易使用。 |
Qt Quick Extras | 所有 | 所有 (*) | 提供用于构建 Qt Quick 界面的一套专用控件。 |
Qt Quick Timeline | 所有 | 所有 (*) | 启用基于关键帧的动画和参数化。 |
Qt Quick Widgets | 所有 | 所有 (*) | 提供用于显示 Qt Quick 用户界面的 C++ Widget 类。 |
Qt Remote Objects | 所有 | 所有 | 提供易于使用的机制为共享 QObject 的 API (特性/信号/槽) 在进程或设备之间。 |
Qt Script (弃用) | 所有 | 所有 |
使 Qt 应用程序可编写脚本的类。弃用代之
QJS*
类在
Qt QML
模块。
|
Qt SCXML | 所有 | 所有 | 提供用于从 SCXML (状态图表 XML) 文件创建状态机,并将它们嵌入应用程序的类和工具。 |
Qt Script Tools (弃用) | 所有 | 所有 (*) | 额外组件,为应用程序使用 Qt Script . |
Qt Sensors | 所有 | Android , Qt for iOS , UWP ,Mer,和 QNX . | 提供对传感器硬件和运动手势识别的访问。 |
Qt Serial Bus | 所有 | Windows , Linux , Boot to Qt targets, and QNX . | 提供对串行工业总线接口的访问。目前,模块支持 CAN bus 和 Modbus 协议。 |
Qt Serial Port | 所有 | Windows , Linux , macOS ,和 QNX . | 提供对硬件和虚拟串行端口的访问。 |
Qt Speech | 所有 | 所有,除了 QNX . | 提供对可访问性特征 (譬如:TTS 文本转语音) 的支持。 |
Qt SVG | 所有 | 所有 | 用于显示 SVG 文件内容的类。支持子集 SVG 1.2 Tiny 标准。 |
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 Windows Extras | 所有 | Windows | 提供 Windows 特定平台 API。 |
Qt X11 Extras | 所有 | Linux/X11 | 为 X11 提供特定平台 API。 |
Qt XML | 所有 | 所有 (*) |
SAX 和 DOM 的 C++ 实现。
注意: 此模块不需要使用 QXmlStreamReader and QXmlStreamWriter 。它们已属于 Qt Core . |
Qt XML Patterns (弃用) | 所有 | 所有 | 支持 XPath, XQuery ,XSLT 和 XML 模式验证。 |
Qt Wayland Compositor | Linux | Linux and Boot to Qt 目标。 | 提供开发 Wayland 合成器的框架。 |
可用于商业许可或 GNU GPL (一般公共许可) v3 下的附件 |
|||
Qt Charts | 所有 | 所有 | 用于显示视觉上令人愉悦的图表 (由静态或动态数据模型驱动) 的 UI 组件。 |
Qt Data Visualization | 所有 | 所有 | 用于创建惊人 3D 数据可视化的 UI 组件。 |
Qt Lottie Animation | 所有 | 所有 | 以 JSON 格式渲染图形和动画的 QML API,导出通过 Bodymovin 插件 for Adobe® After Effects。 |
Qt Network Authorization | 所有 | 所有 | 为基于 OAuth 的在线服务授权提供支持。 |
Qt Virtual Keyboard | 所有 | Linux and Windows 桌面,及 Boot to Qt 目标。 | 用于实现不同输入法及 QML 虚拟键盘的框架。支持本地化键盘布局和自定义视觉主题。 |
Qt for WebAssembly | 所有 | 支持 WebAssembly 的 Web 浏览器 | 使用 WebAssembly 为 Web 浏览器编译 Qt 应用程序的平台目标。 |
Qt Quick 3D | 所有 | 所有 | 提供基于 Qt Quick,创建 3D 内容或 UI 的高级 API。 |
Qt Quick WebGL | 所有 | 启用 WebGL 的 Web 浏览器 | 提供 平台插件 that allows streaming Qt Quick user interfaces over the network using WebGL™. |
(*) QNX 状态未知。
除作为 Qt 5 部分发布的模块外,以下模块和工具构建于 Qt 库之上,以提供额外价值。它们有自己的发布时间表,且在商业许可下是可用的。
特征 | 描述 |
---|---|
Qt Automotive Suite | 用于开发 IVI (车载信息娱乐) 系统的一批软件组件和工具。建立在 Qt for Device Creation 产品之上,且兼容 GENIVI 车用平台体系结构。 |
Qt for Automation | 用于自动化相关领域的库和工具,譬如:KNX、OPC UA、MQTT。 |
Qt for Device Creation | 用于快速、轻松且全集成开发嵌入式设备应用程序的工具。包括在大多数其它增值解决方案中。 |
Qt for MCUs | 提供完整图形框架和工具包,及在 MCU (微控制器单元) 设计、开发和部署 GUI 所需的一切。应用程序可以在裸机上 (或在实时操作系统中) 运行。 |
Qt 工具 运行于所有支持开发平台,并促进应用程序的开发和设计。
下表列出 Qt 工具:
工具 | 描述 |
---|---|
Qt Designer | 类为扩展 Qt Designer . |
Qt Distance Field Generator | 为应用程序 UI 文本实体生成距离字段信息。 |
我们邀您探索 Qt 的其余部分。我们准备的概述帮助您决定要使用哪些 API,示例演示如何使用 API。