All Modules

Qt Essentials

Qt Essentials 定义了所有平台上 Qt 的基础. 它们可在所有受支持的开发平台和经过测试的目标平台上使用. 除了测试模块将保持源代码兼容之外, 这些模块将在整个 Qt 5 中保持源代码和二进制兼容.

基本模块是通用的, 对于大多数 Qt 应用程序都很有用. 用于特殊目的的模块被视为附加模块, 即使它在所有支持的平台上都可用.

下列表格列出 Qt 的基础模块:

ModuleDescription
Qt Core核心的非图形类.
Qt GUI基础的图形用户界面(GUI)组件, 包括 OpenGL.
Qt Multimedia多媒体类.
Qt Multimedia Widgets基于widget的多媒体类.
Qt Network网络编程类.
Qt QML QML 和 JavaScript 语言类.
Qt Quick构建具有自定义用户界面的高度动态应用程序的声明性框架.
Qt Quick Controls可重用的基于 Qt Quick 的 UI 控件可创建经典的桌面式用户界面.
Qt Quick Dialogs用于从 Qt Quick 应用程序创建系统对话框并与之交互的类型.
Qt Quick Layouts用于在用户界面中排列基于 Qt Quick 2 的 item 的布局 item.
Qt SQL使用 SQL 进行数据库集成的类.
Qt Test用于单元测试 Qt 应用程序和库的类.
Qt Widgets使用 C++ widget扩展 Qt GUI 的类.

如果你使用 qmake 构建项目, 默认包含 Qt CoreQt GUI 模块. 若想只链接 Qt Core, 你可以在 .pro 文件添加下列语句:


  QT -= gui

在 Windows 上, 如果你不使用 qmake 或其他构建工具, 如 CMake, 你也需要链接 qtmain 库.

Qt Add-Ons

Qt Add-On 模块为特定目的带来附加价值. 这些模块可能仅在某些开发平台上可用. 许多附加模块要么功能齐全并且存在向后兼容性, 要么仅适用于某些平台. 每个附加模块分别指定其兼容性承诺. Qt 安装程序包含下载附加组件的选项. 详见 Getting Started with Qt.

下列表格列出 Qt 的附加模块:

ModuleDevelopment PlatformsTarget PlatformsDescription
Active QtWindowsClasses for applications which use ActiveX and COM
Qt 3DAllFunctionality for near-realtime simulation systems with support for 2D and 3D rendering.
Enginio (Deprecated)AllAllA Backend-as-a-Service solution to ease the backend development for connected and data-driven applications.
Qt Android ExtrasAllAndroidProvides platform-specific APIs for Android.
Qt BluetoothAllAndroid, iOS, Linux and macOSProvides access to Bluetooth hardware.
Qt Canvas 3DAllEnables OpenGL-like 3D drawing calls from Qt Quick applications using JavaScript.
Qt ConcurrentClasses for writing multi-threaded programs without using low-level threading primitives.
Qt D-BusAllClasses for inter-process communication over the D-Bus protocol.
Qt GamepadAllAndroid, iOS, macOS, tvOS (including the tvOS remote), Linux, WindowsEnables Qt applications to support the use of gamepad hardware.
Qt Graphical EffectsAllGraphical effects for use with Qt Quick 2.
Qt Image FormatsAllPlugins for additional image formats: TIFF, MNG, TGA, WBMP.
Qt LocationAllAllDisplays map, navigation, and place content in a QML application.
Qt Mac ExtrasAllmacOSProvides platform-specific APIs for macOS.
Qt NFCAllAndroid and LinuxProvides access to Near-Field communication (NFC) hardware.
Qt OpenGL (Deprecated)OpenGL support classes. Deprecated in favor of the QOpenGL* classes in the Qt GUI module.
Qt Platform HeadersProvides classes that encapsulate platform-specific information, tied to a given runtime configuration of a platform plugin.
Qt PositioningAllAndroid, iOS, macOS, Linux, WinRT.Provides access to position, satellite and area monitoring classes.
Qt Print SupportAllClasses to make printing easier and more portable.
Qt PurchasingAllAndroid, iOS, and macOS.Enables in-app purchase of products in Qt applications.
Qt Quick Controls 2AllProvides lightweight QML types for creating performant user interfaces for embedded and mobile devices. These controls achieve improved efficiency by employing a simplified styling architecture when compared to Qt Quick Controls. These types work in conjunction with Qt Quick and Qt Quick Layouts.
Qt Quick ExtrasAllProvides a specialized set of controls that can be used to build interfaces in Qt Quick.
Qt Quick WidgetsAllProvides a C++ widget class for displaying a Qt Quick user interface.
Qt Script (Deprecated)AllClasses for making Qt applications scriptable. Deprecated in favor of the QJS* classes in the Qt QML module.
Qt SCXMLAllAllProvides classes and tools for creating state machines from SCXML files and embedding them in applications.
Qt Script Tools (Deprecated)AllAdditional components for applications that use Qt Script.
Qt SensorsAllAndroid, Qt for iOS, WinRT and Mer.Provides access to sensor hardware and motion gesture recognition.
Qt Serial BusLinuxLinux and Boot to Qt targets.Provides access to serial industrial bus interface. Currently the module supports the CAN bus and Modbus protocols.
Qt Serial PortAllWindows, Linux, and macOS.Provides access to hardware and virtual serial ports.
Qt SVGAllClasses for displaying the contents of SVG files. Supports a subset of the SVG 1.2 Tiny standard.
Qt WebChannelAllAllProvides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients.
Qt WebEngineAllWindows, Linux, and macOS.Classes and functions for embedding web content in applications using the Chromium browser project.
Qt WebSocketsAllAllProvides WebSocket communication compliant with RFC 6455.
Qt WebViewAllPlatforms with a native web engine.Displays web content in a QML application by using APIs native to the platform, without the need to include a full web browser stack.
Qt Windows ExtrasAllWindowsProvides platform-specific APIs for Windows.
Qt X11 ExtrasAllLinux/X11Provides platform-specific APIs for X11.
Qt XMLC++ implementations of SAX and DOM.

Note: This module is not required to use QXmlStreamReader and QXmlStreamWriter. They are already part of Qt Core.

Qt XML PatternsSupport for XPath, XQuery, XSLT and XML schema validation.
Qt Wayland CompositorLinuxLinux and Boot to Qt targets.Provides a framework to develop a Wayland compositor.

Add-ons available under Commercial Licenses, or GNU General Public License v3

Qt ChartsAllUI Components for displaying visually pleasing charts, driven by static or dynamic data models.
Qt Data VisualizationAllAllUI Components for creating stunning 3D data visualizations.
Qt Virtual KeyboardAllLinux and Windows desktop, and Boot to Qt targets.A framework for implementing different input methods as well as a QML virtual keyboard. Supports localized keyboard layouts and custom visual themes.

Value-Add Modules

除了作为 Qt 5 的一部分发布的模块之外, 以下模块和工具构建在 Qt 库之上以提供附加价值. 它们有自己的发布时间表, 并且可以在商业许可下使用.

FeatureDescription
Qt for Device CreationTools for fast, easy, and fully-integrated embedded device application development. Includes most other Value-Add features.
Qt Quick CompilerEnables compiling .qml source files into application binaries, improving load times and security for code assets.

Technology Preview Modules

The following modules are still in development but are available as technology previews.

ModuleDescription
Qt Network AuthorizationProvides support for OAuth-based authorization to online services.
Qt SpeechProvides support for accessibility features such as text-to-speech.
Qt Remote ObjectsProvides an easy to use mechanism for sharing a QObject's API (Properties/Signals/Slots) between processes or devices.

Qt Tools

Qt Tools 可在所有受支持的开发平台上运行, 并促进应用程序的开发和设计.

下列表格列出 Qt tools:

ToolDescription
Qt DesignerClasses for extending Qt Designer.
Qt HelpClasses for integrating online documentation into applications, similar to Qt Assistant.
Qt UI ToolsClasses to handle the forms created in Qt Designer.

扩展阅读

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