All Modules
Qt Essentials
Qt Essentials 定义了所有平台上 Qt 的基础. 它们可在所有受支持的开发平台和经过测试的目标平台上使用. 除了测试模块将保持源代码兼容之外, 这些模块将在整个 Qt 5 中保持源代码和二进制兼容.
基本模块是通用的, 对于大多数 Qt 应用程序都很有用. 用于特殊目的的模块被视为附加模块, 即使它在所有支持的平台上都可用.
下列表格列出 Qt 的基础模块:
Module | Description |
---|---|
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 Core 和 Qt GUI 模块. 若想只链接 Qt Core, 你可以在 .pro
文件添加下列语句:
QT -= gui
在 Windows 上, 如果你不使用 qmake 或其他构建工具, 如 CMake, 你也需要链接 qtmain
库.
Qt Add-Ons
Qt Add-On 模块为特定目的带来附加价值. 这些模块可能仅在某些开发平台上可用. 许多附加模块要么功能齐全并且存在向后兼容性, 要么仅适用于某些平台. 每个附加模块分别指定其兼容性承诺. Qt 安装程序包含下载附加组件的选项. 详见 Getting Started with Qt.
下列表格列出 Qt 的附加模块:
Module | Development Platforms | Target Platforms | Description |
---|---|---|---|
Active Qt | Windows | Classes for applications which use ActiveX and COM | |
Qt 3D | All | Functionality for near-realtime simulation systems with support for 2D and 3D rendering. | |
Enginio (Deprecated) | All | All | A Backend-as-a-Service solution to ease the backend development for connected and data-driven applications. |
Qt Android Extras | All | Android | Provides platform-specific APIs for Android. |
Qt Bluetooth | All | Android, iOS, Linux and macOS | Provides access to Bluetooth hardware. |
Qt Canvas 3D | All | Enables OpenGL-like 3D drawing calls from Qt Quick applications using JavaScript. | |
Qt Concurrent | Classes for writing multi-threaded programs without using low-level threading primitives. | ||
Qt D-Bus | All | Classes for inter-process communication over the D-Bus protocol. | |
Qt Gamepad | All | Android, iOS, macOS, tvOS (including the tvOS remote), Linux, Windows | Enables Qt applications to support the use of gamepad hardware. |
Qt Graphical Effects | All | Graphical effects for use with Qt Quick 2. | |
Qt Image Formats | All | Plugins for additional image formats: TIFF, MNG, TGA, WBMP. | |
Qt Location | All | All | Displays map, navigation, and place content in a QML application. |
Qt Mac Extras | All | macOS | Provides platform-specific APIs for macOS. |
Qt NFC | All | Android and Linux | Provides 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 Headers | Provides classes that encapsulate platform-specific information, tied to a given runtime configuration of a platform plugin. | ||
Qt Positioning | All | Android, iOS, macOS, Linux, WinRT. | Provides access to position, satellite and area monitoring classes. |
Qt Print Support | All | Classes to make printing easier and more portable. | |
Qt Purchasing | All | Android, iOS, and macOS. | Enables in-app purchase of products in Qt applications. |
Qt Quick Controls 2 | All | Provides 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 Extras | All | Provides a specialized set of controls that can be used to build interfaces in Qt Quick. | |
Qt Quick Widgets | All | Provides a C++ widget class for displaying a Qt Quick user interface. | |
Qt Script (Deprecated) | All | Classes for making Qt applications scriptable. Deprecated in favor of the QJS* classes in the Qt QML module. | |
Qt SCXML | All | All | Provides classes and tools for creating state machines from SCXML files and embedding them in applications. |
Qt Script Tools (Deprecated) | All | Additional components for applications that use Qt Script. | |
Qt Sensors | All | Android, Qt for iOS, WinRT and Mer. | Provides access to sensor hardware and motion gesture recognition. |
Qt Serial Bus | Linux | Linux and Boot to Qt targets. | Provides access to serial industrial bus interface. Currently the module supports the CAN bus and Modbus protocols. |
Qt Serial Port | All | Windows, Linux, and macOS. | Provides access to hardware and virtual serial ports. |
Qt SVG | All | Classes for displaying the contents of SVG files. Supports a subset of the SVG 1.2 Tiny standard. | |
Qt WebChannel | All | All | Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients. |
Qt WebEngine | All | Windows, Linux, and macOS. | Classes and functions for embedding web content in applications using the Chromium browser project. |
Qt WebSockets | All | All | Provides WebSocket communication compliant with RFC 6455. |
Qt WebView | All | Platforms 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 Extras | All | Windows | Provides platform-specific APIs for Windows. |
Qt X11 Extras | All | Linux/X11 | Provides platform-specific APIs for X11. |
Qt XML | C++ 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 Patterns | Support for XPath, XQuery, XSLT and XML schema validation. | ||
Qt Wayland Compositor | Linux | Linux 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 Charts | All | UI Components for displaying visually pleasing charts, driven by static or dynamic data models. | |
Qt Data Visualization | All | All | UI Components for creating stunning 3D data visualizations. |
Qt Virtual Keyboard | All | Linux 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 库之上以提供附加价值. 它们有自己的发布时间表, 并且可以在商业许可下使用.
Feature | Description |
---|---|
Qt for Device Creation | Tools for fast, easy, and fully-integrated embedded device application development. Includes most other Value-Add features. |
Qt Quick Compiler | Enables 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.
Module | Description |
---|---|
Qt Network Authorization | Provides support for OAuth-based authorization to online services. |
Qt Speech | Provides support for accessibility features such as text-to-speech. |
Qt Remote Objects | Provides an easy to use mechanism for sharing a QObject's API (Properties/Signals/Slots) between processes or devices. |
Qt Tools
Qt Tools 可在所有受支持的开发平台上运行, 并促进应用程序的开发和设计.
下列表格列出 Qt tools:
Tool | Description |
---|---|
Qt Designer | Classes for extending Qt Designer. |
Qt Help | Classes for integrating online documentation into applications, similar to Qt Assistant. |
Qt UI Tools | Classes to handle the forms created in Qt Designer. |
扩展阅读
我们邀请你探索 Qt 的其余部分. 我们准备了概述, 帮助你决定使用哪些 API,我们的示例演示了如何使用我们的 API.
- Qt Overviews - 有关应用程序开发的主题列表
- Examples and Tutorials - 代码示例和教程
- Qt Reference Pages - C++ and QML API 列表