QT新手日记 029 - QT所有模块

所有模块

Qt 核心功能

Qt 核心功能定义了所有平台上 Qt 的基础。它们适用于所有受支持的开发平台和测试目标平台。除了测试模块(保持源兼容性),这些模块在整个 Qt 6 期间将保持源代码和二进制兼容性。

核心模块是通用的,适用于大多数 Qt 应用程序。即使在某些支持平台上可用,用于特定目的的模块也被认为是附加模块。

以下表格列出了 Qt 核心功能

模块 描述
Qt 核心库 其他模块使用的核心非图形类。
Qt D-Bus 用于 D-Bus 协议的进程间通信类。
Qt GUI 图形用户界面(GUI)组件的基类。
Qt 网络 简化网络编程并提高可移植性的类。
Qt Qml QML 和 JavaScript 语言的类。
Qt Quick 用于构建具有自定义用户界面的高度动态应用程序的声明性框架。
Qt Quick 控件 提供用于创建性能优良的桌面、嵌入式和移动设备用户界面的轻量级 QML 类型。这些类型采用了简单的样式架构,并且非常高效。
Qt Quick 对话框 用于从 Qt Quick 应用程序创建和交互系统对话框的类型。
Qt Quick 布局 布局是用于在用户界面中排列 Qt Quick 2 基于项目的项目。
Qt Quick 测试 一个用于 QML 应用程序的单元测试框架,其中测试用例以 JavaScript 函数的形式编写。 注意: 二进制兼容性保证不适用于 Qt Quick 测试。然而,它将保持源代码兼容性。
Qt 测试 用于单元测试 Qt 应用程序和库的类。 注意: 二进制兼容性保证不适用于 Qt 测试。然而,它将保持源代码兼容性。
Qt 小组件 用于用 C++ 小组件扩展 Qt GUI 的类。

Qt 附加组件

Qt 附加组件 模块为特定目的带来额外的价值。这些模块可能仅在某些开发平台上可用。许多附加模块要么是功能完整的,为了后向兼容而存在,要么仅适用于特定平台。每个附加模块都单独指定其兼容性承诺。

Qt 安装程序包括下载附加组件的选项。有关更多信息,请访问 Qt 入门 页面。

以下表格列出了 Qt 附加组件

模块 开发平台 目标平台 描述
Active Qt Windows Windows 用于使用 ActiveX 和 COM 的应用程序的类
Qt 3D 所有 所有 支持 2D 和 3D 渲染的近实时仿真系统功能。
Qt 5 核心兼容 API 所有 所有 Qt 5中存在但在Qt 6中不存在的核心API。
Qt 蓝牙 所有 AndroidiOSLinux引导至QtmacOSWindows 提供对蓝牙硬件的访问。
Qt 并发 所有 所有 用于编写不使用低级线程原语的多线程程序的类。
Qt 帮助 所有 所有 用于将文档集成到应用程序中的类。
Qt 图像格式 所有 所有 支持额外图像格式的插件:TIFF,MNG,TGA,WBMP。
Qt 多媒体 所有 所有* 提供处理多媒体内容的一整套QML类型和C++类。还包含处理摄像头访问的API。
Qt NFC 所有 AndroidiOSmacOSLinuxWindows 提供对近距离通信(NFC)硬件的访问。在桌面平台上仅支持Type 4标签的NDEF访问。
Qt OPC UA 所有 全部(除QNX,WebAssembly) 适用于工业应用的协议,用于数据建模和交换。
Qt OpenGL 所有 所有 简化Qt应用程序中OpenGL使用的C++类。一个单独的库的Qt OpenGL小部件C++类提供用于渲染OpenGL图形的小部件。
Qt PDF 所有 WindowsLinuxmacOS 用于渲染PDF文档的类和函数。
Qt 定位 所有 AndroidiOSmacOSLinuxWindows 提供对位置、卫星信息和区域监控类的访问。
Qt 打印支持 所有 全部(除iOS) 使打印更容易和更便携的类。
Qt Quick小部件 所有 所有 提供用于显示Qt Quick用户界面的C++小部件类。
Qt Quick效果 所有 所有 提供用于将一个或多个简单图形效果应用于Qt Quick元素的QML类型。
Qt Quick粒子 所有 所有 提供用于粒子效果的QML类型。
Qt 远程对象 所有 所有 提供一种在进程或设备之间共享QObject的API(属性/信号/槽)的简单机制。
Qt SCXML 所有 所有 提供用于从SCXML文件创建状态机并将它们嵌入到应用程序中的类和工具。
Qt 传感器 所有 AndroidiOSWindows 提供对传感器硬件的访问。
Qt 串行总线 所有 Linux引导至QtmacOSWindows 提供对串行工业总线接口的访问。目前,该模块支持CAN总线和Modbus协议。
Qt 串行端口 所有 Linux引导至QtmacOSWindows 提供与硬件和虚拟串行端口交互的类。
Qt 着色器工具 所有 所有 提供用于跨平台Qt着色器管道的工具。这些工具使图形和计算着色器可被Qt Quick和其他Qt生态系统中的组件使用。
Qt 空间音频 所有 所有 提供对空间音频的支持。在三维空间中创建包含不同声音源和相关属性(如混响)的声景。
Qt SQL 所有 所有 用于使用SQL进行数据库集成的类。
Qt 状态机 所有 所有 提供创建和执行状态图的类。
Qt SVG 所有 所有 用于显示SVG文件内容的类。支持SVG 1.2 Tiny标准子集。一个单独的库的Qt SVG小部件C++类提供在widget UI中渲染SVG文件的支持。
Qt 文本语音 所有 所有 支持从文本合成语音并将其作为音频输出播放。
Qt UI工具 所有 所有 用于在运行时动态加载在Qt Designer中创建的基于QWidget的表单的类。
Qt 网络频道 所有 所有 为HTML客户端提供对QObject或QML对象的无缝访问,以便将Qt应用程序与HTML/JavaScript客户端集成。
Qt WebEngine 所有 WindowsLinuxmacOS 用于在应用程序中嵌入使用Chromium浏览器项目的Web内容的类和函数。
Qt WebSocket 所有 所有 提供符合RFC 6455的WebSocket通信。
Qt WebView 所有 具有本地Web引擎的平台。 通过使用平台的原生API在QML应用程序中显示Web内容,而无需包含完整的Web浏览器堆栈。
Qt XML 所有 所有 使用文档对象模型(DOM)API处理XML。
Qt Charts 所有 所有 用于显示美观图表的UI组件,由静态或动态数据模型驱动。
Qt CoAP 所有 所有 实现了由RFC 7252定义的CoAP客户端。
Qt数据可视化 所有 所有 创建迷人3D数据可视化的UI组件。
Qt Lottie动画 所有 所有 一个QML API,用于在JSON格式中渲染由Adobe® After Effects的Bodymovin插件导出的图形和动画。
Qt MQTT 所有 所有 提供MQTT协议规范的实现。
Qt网络身份验证 所有 所有 为在线服务提供基于OAuth的身份验证支持。
Qt Quick 3D 所有 所有 提供基于Qt Quick的高层API,用于创建3D内容或UI。
Qt Quick 3D物理 所有 除了QNX和INTEGRITY之外的所有支持平台。 Qt Quick 3D物理通过添加物理仿真功能到Qt Quick 3D,提供了一个高层次的QML模块。
Qt Quick时间轴 所有 所有 启用基于关键帧的动画和参数化。
Qt虚拟键盘 所有 LinuxWindows桌面,以及Boot to Qt目标。 一个实现不同输入方法以及QML虚拟键盘的框架。支持本地化键盘布局和自定义视觉主题。
Qt Wayland Compositor Linux LinuxBoot to Qt目标。 提供开发Wayland合成器的框架。

注意: 所有指的是除INTEGRITY之外的所有支持平台。

以下附加组件仍在开发中,但作为技术预览提供

Qt技术预览附加组件

模块 开发平台 目标平台 描述
Qt HTTP服务器 所有 所有 一个将HTTP服务器嵌入Qt应用程序的框架。
Qt Protobuf 所有 所有 从protobuf规范中生成基于Qt的类的功能。
Qt图形 所有 所有 提供以条形图、散点图和曲面图可视化为3D数据的函数。
Qt GRPC 所有 所有 提供从用于与gRPC®服务通信的protobuf规范生成基于Qt的类的功能。
Qt位置 所有 所有 提供创建位置感知应用程序的QML和C++接口。

从这里开始

我们邀请您探索Qt的其他功能。我们准备了概述,以帮助您决定使用哪个API,并提供了示例代码和教程以演示如何使用我们的API。

相关推荐
wjs20242 小时前
解释器模式
开发语言
a努力。2 小时前
得物Java面试被问:Kafka的零拷贝技术和PageCache优化
java·开发语言·spring·面试·职场和发展·架构·kafka
2501_944521592 小时前
Flutter for OpenHarmony 微动漫App实战:骨架屏加载实现
android·开发语言·javascript·数据库·redis·flutter·缓存
venus602 小时前
多网卡如何区分路由,使用宽松模式测试网络
开发语言·网络·php
廋到被风吹走2 小时前
【配置中心】Nacos 配置中心与服务发现深度解析
开发语言·服务发现·php
予枫的编程笔记2 小时前
【Java进阶】深度解析Canal:从原理到实战,MySQL增量数据同步的利器
java·开发语言·mysql
Filotimo_2 小时前
在java后端开发中,LEFT JOIN的用法
java·开发语言·windows
Swift社区2 小时前
在Swift中实现允许重复的O(1)随机集合
开发语言·ios·swift
承渊政道2 小时前
C++学习之旅【C++Vector类介绍—入门指南与核心概念解析】
c语言·开发语言·c++·学习·visual studio