所有模块

Qt 必需

Qt Essentials define the foundation of Qt on all platforms. They are available on all supported development platforms and on the tested target platforms. Except the testing modules, which will remain source compatible, these modules will remain source and binary compatible throughout Qt 6.

必需模块对于大多数 Qt 应用程序而言,是通用和有用的。用于特殊目的模块被视为附件模块,即使它可用于所有支持平台。

下表列出了 Qt 必需:

模块 描述
Qt Core 用于其它模块的核心非图形类。
Qt D-Bus 透过 D-Bus 协议进行进程间通信的类。
Qt GUI Base classes for graphical user interface (GUI) components.
Qt Network 使网络编程更容易和更可移植的类。
Qt QML QML 和 JavaScript 语言类。
Qt Quick 采用自定义 UI (用户界面) 构建高动态应用程序的声明式框架。
Qt Quick Controls 为桌面、嵌入式和移动设备创建高性能 UI (用户界面) 而提供的轻量 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 附件

Qt Add-On 模块为特定目的,带来额外价值。这些模块只可用于某些开发平台。许多附件模块要么特征完整,要么是为向后兼容而存在的,或仅适用于某些平台。每个附件模块,分别指定其兼容性承诺。

Qt 安装程序包括下载附件的选项。更多信息,拜访 Qt 快速入门 页面。

下表列出了 Qt 附件:

模块 开发平台 目标平台 描述
Active Qt Windows Windows 使用 ActiveX 和 COM 的应用程序类
Qt 3D 所有 所有 支持 2D 3D 近实时仿真系统渲染功能。
Qt 5 Core Compatibility APIs 所有 所有 Qt Core APIs that were in Qt 5 but not Qt 6.
Qt Bluetooth 所有 Android , iOS , Linux , Boot to Qt , macOS and Windows 提供对蓝牙硬件的访问。
Qt Concurrent 所有 所有 用于编写多线程程序 (无需使用低级线程原语) 的类。
Qt Help 所有 所有 Classes for integrating documentation into applications.
Qt Image Formats 所有 所有 额外图像格式插件:TIFF MNG TGA WBMP。
Qt Multimedia 所有 All* A rich set of QML types and C++ classes to handle multimedia content. Also includes APIs to handle camera access.
Qt NFC 所有 Android , iOS , macOS , Linux and Windows Provides access to Near-Field communication (NFC) hardware. On desktop platforms NDEF access is only supported for Type 4 tags.
Qt OPC UA 所有 All (except QNX, WebAssembly) Protocol for data modeling and exchange of data in industrial applications.
Qt OpenGL 所有 所有 C++ classes that make it easy to use OpenGL in Qt applications. A separate library of Qt OpenGL Widgets C++ Classes provides a widget for rendering OpenGL graphics.
Qt PDF 所有 Windows , Linux ,和 macOS . 用于渲染 PDF 文档的类和函数
Qt Positioning 所有 Android , iOS , macOS , Linux and Windows Provides access to position, satellite info and area monitoring classes.
Qt Print Support 所有 All (except iOS) 使打印更轻松,更便携的类。
Qt Quick Widgets 所有 所有 提供用于显示 Qt Quick 用户界面的 C++ Widget 类。
Qt Quick Effects 所有 所有 Provides QML types for applying one or more simple graphical effects to Qt Quick items.
Qt Quick Particles 所有 所有 Provides QML types for particle effects.
Qt Remote Objects 所有 所有 提供易于使用的机制为共享 QObject 的 API (特性/信号/槽) 在进程或设备之间。
Qt SCXML 所有 所有 提供用于从 SCXML (状态图表 XML) 文件创建状态机,并将它们嵌入应用程序的类和工具。
Qt Sensors 所有 Android , iOS ,和 Windows Provides access to sensor hardware.
Qt Serial Bus 所有 Linux , Boot to Qt , macOS and Windows Provides access to serial industrial bus interfaces. Currently, the module supports the CAN bus and Modbus protocols.
Qt Serial Port 所有 Linux , Boot to Qt , macOS and Windows Provides classes to interact with hardware and virtual serial ports.
Qt Shader Tools 所有 所有 Provides tools for the cross-platform Qt shader pipeline. These enable processing graphics and compute shaders to make them usable for Qt Quick and other components in the Qt ecosystem.
Qt Spatial Audio 所有 所有 Provides support for spatial audio. Create sound scenes in 3D space containing different sound sources and room related properties such as reverb.
Qt SQL 所有 所有 集成使用 SQL 数据库的类。
Qt State Machine 所有 所有 Provides classes for creating and executing state graphs.
Qt SVG 所有 所有 用于显示 SVG 文件内容的类。支持子集 SVG 1.2 Tiny standard. A separate library of Qt SVG Widgets C++ Classes provides support for rendering SVG files in a widget UI.
Qt TextToSpeech 所有 所有 Provides support for synthesizing speech from text and playing it as audio output.
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 所有 所有 Handling of XML in a Document Object Model (DOM) API.

可用于商业许可或 GNU GPL (一般公共许可) 第 3 版下的附件

Qt Charts 所有 所有 用于显示视觉上令人愉悦的图表 (由静态或动态数据模型驱动) UI 组件。
Qt CoAP 所有 所有 Implements the client side of CoAP defined by RFC 7252.
Qt Data Visualization 所有 所有 用于创建惊人 3D 数据可视化的 UI 组件。
Qt Lottie Animation 所有 所有 以 JSON 格式渲染图形和动画的 QML API,导出通过 Bodymovin 插件 for Adobe® After Effects。
Qt MQTT 所有 所有 Provides an implementation of the MQTT protocol specification.
Qt Network Authorization 所有 所有 为基于 OAuth 的在线服务授权提供支持。
Qt Quick 3D 所有 所有 提供基于 Qt Quick,创建 3D 内容或 UI 的高级 API。
Qt Quick 3D Physics 所有 All supported platforms except QNX and INTEGRITY. Qt Quick 3D Physics provides a high-level QML module adding physical simulation capabilities to Qt Quick 3D.
Qt Quick Timeline 所有 所有 启用基于关键帧的动画和参数化。
Qt Virtual Keyboard 所有 Linux and Windows 桌面,及 Boot to Qt 目标。 用于实现不同输入法及 QML 虚拟键盘的框架。支持本地化键盘布局和自定义视觉主题。
Qt Wayland Compositor Linux Linux and Boot to Qt 目标。 提供开发 Wayland 合成器的框架。

注意: All* refers to all supported platforms except INTEGRITY.

The following add-ons are still in development, but are available as technology previews:

Qt Add-Ons in Technical Preview

模块 开发平台 目标平台 描述
Qt HTTP Server 所有 所有 A framework for embedding an HTTP server into a Qt application.
Qt Protobuf 所有 所有 Provides an ability to generate Qt-based classes from protobuf specifications.
Qt GRPC 所有 所有 Provides an ability to generate Qt-based classes from protobuf specifications used to communicate with gRPC ® services.
Qt Location 所有 所有 Provides QML and C++ interfaces to create location-aware applications.

从这里开始

我们邀您探索 Qt 的其余部分。我们准备的概述帮助您决定要使用哪些 API,示例演示如何使用 API。