基于Qt 6.2.0
Qt基础定义了所有平台上Qt的基础。它们在所有支持的开发平台和测试的目标平台上都可用。除了测试模块将保持源代码兼容外,这些模块将在整个Qt 6中保持源代码和二进制代码兼容。基本模块是通用的,对大多数Qt应用程序有用。
一.基础模块
下表列出了Qt模块:
模块 | 描述 |
---|---|
Qt Core | 其他模块使用的核心非图形类。 |
Qt D-Bus | 用于通过D-Bus协议进行进程间通信的类。 |
Qt GUI | 图形用户界面(GUI)组件的基类。 |
Qt Network | QT网络相关类,使网络编程更容易和更便携。 |
Qt QML | QML和JavaScript语言的类。 |
Qt Quick | 一个声明性框架,用于使用自定义用户界面构建高度动态的应用程序。 |
Qt Quick Controls | 提供轻量级QML类型,用于为桌面、嵌入式和移动设备创建高性能用户界面。这些类型采用简单的样式体系结构,并且非常有效。 |
Qt Quick Dialogs | 用于从Qt Quick应用程序创建系统对话框并与之交互的类型。 |
Qt Quick Layouts | 布局是用于在用户界面中排列基于Qt Quick 2的项目的项目。 |
Qt Quick Test | QML应用程序的单元测试框架,其中测试用例被编写为JavaScript函数。 |
Qt Test | 用于单元测试Qt应用程序和库的类。 |
Qt Widgets | 用C++小部件扩展QtGUI的类。 |
二.附加模块
Qt附加模块为特定目的而开发的木块。这些模块仅在某些开发平台上可用。部分附加模块虽然功能齐全,但存在向后兼容性,仅适用于某些平台。每个附加模块都存在各自的兼容性问题。一般情况下,Qt安装程序包括下载附加组件的选项:
模块 | 开发平台 | 目标平台 | 描述 |
---|---|---|---|
Active Qt | Windows | Windows | 使用ActiveX和COM的应用程序的类 |
Qt Bluetooth | All | Android, iOS, Linux, Boot to Qt, macOS and Windows | 提供对蓝牙硬件的访问。 |
Qt 3D | All | All | 支持2D和3D渲染的近实时模拟系统功能。 |
Qt 5 Core Compatibility APIs | All | All | Qt 5中的Qt核心API,而不是Qt 6。 |
Qt Concurrent | All | All | 用于编写多线程程序而不使用低级线程原语的类。 |
Qt Help | All | All | 用于将文档集成到应用程序中的类。 |
Qt Image Formats | All | All | 其他图像格式的插件:TIFF、MNG、TGA、WBMP。 |
Qt OpenGL | All | All | C++类,使在Qt应用程序中使用OpenGL变得容易。 Qt OpenGL Widgets C++ 类的单独库提供了一个用于渲染OpenGL图形的小部件。 |
Qt Multimedia | All | All* | 一组丰富的QML类型和C++类来处理多媒体内容。还包括处理相机访问的API。 |
Qt Print Support | All | All | 使打印更容易和更便携的类。 |
Qt Quick Widgets | All | All | 提供用于显示Qt Quick用户界面的C++小部件类。 |
Qt Remote Objects | All | All | 提供一种易于使用的机制,用于在进程或设备之间共享QObject的API(属性/信号/插槽)。 |
Qt SCXML | All | All | 提供用于从SCXML文件创建状态机并将其嵌入应用程序的类和工具。 |
Qt Sensors | All | Android, iOS, and Windows | 提供对传感器硬件的访问。 |
Qt Serial Bus | All | Linux, Boot to Qt, macOS and Windows | 提供对串行工业总线接口的访问。目前,该模块支持CAN总线和Modbus协议。 |
Qt Serial Port | All | Linux, Boot to Qt, macOS and Windows | 提供与硬件和虚拟串行端口交互的类。 |
Qt SQL | All | All | 使用SQL进行数据库集成的类。 |
Qt State Machine | All | All | 提供用于创建和执行状态图的类。 |
Qt SVG | All | All | 用于显示SVG文件内容的类。支持SVG 1.2 Tiny标准的子集。Qt SVG Widgets C++ 类的一个单独库支持在小部件UI中渲染SVG文件。 |
Qt UI Tools | All | All | 用于在运行时动态加载QtDesigner中创建的基于 QWidget的表单的类。 |
Qt WebChannel | All | All | 提供从HTML客户端访问 QObject或QML对象的权限,以便将Qt应用程序与HTML/JavaScript客户端无缝集成。 |
Qt WebEngine | All | Windows, Linux, and macOS. | 使用Chromium浏览器项目在应用程序中嵌入web内容的类和函数。 |
Qt WebSockets | All | All | 提供符合 RFC 6455.的WebSocket通信。 |
Qt WebView | All | Platforms with a native web engine. | 通过使用平台本地的API在QML应用程序中显示web内容,而无需包含完整的web浏览器堆栈。 |
Qt XML | All | All | 在文档对象模型(DOM)API中处理XML。 |
Qt Positioning | All | Android, iOS, macOS, Linux and Windows | 提供对位置、卫星信息和区域监控类的访问。 |
Qt NFC | All | Android and iOS | 提供对近场通信(NFC)硬件的访问。 |
三.许可证附加模块
根据商业许可证或GNU通用公共许可证v3提供的附加模块:
模块 | 开发平台 | 目标平台 | 描述 |
---|---|---|---|
Qt Charts | All | All | UI组件,用于显示视觉上令人愉悦的图表,由静态或动态数据模型驱动。 |
Qt Data Visualization | All | All | 用于创建令人惊叹的3D数据可视化的UI组件。 |
Qt Lottie Animation | All | All | 用于以JSON格式渲染图形和动画的QML API,由Adobe®After Effects的Bodymovin插件导出。 |
Qt Network Authorization | All | All | 为基于OAuth的在线服务授权提供支持。 |
Qt Quick 3D | All | All | 提供基于Qt Quick创建3D内容或UI的高级API。 |
Qt Quick Timeline | All | All | 启用基于关键帧的动画和参数化。 |
Qt Shader Tools | All | All | 为跨平台Qt着色器管道提供工具。这些功能支持处理图形和计算着色器,使其可用于Qt Quick和Qt生态系统中的其他组件。 |
Qt Virtual Keyboard | All | Linux and Windows desktop, and Boot to Qt targets. | 用于实现不同输入方法以及QML虚拟键盘的框架。支持本地化键盘布局和自定义视觉主题。 |
Qt Wayland Compositor | Linux | Linux and Boot to Qt targets. | 提供开发Wayland合成器的框架。 |
四.名称空间
这是Qt中主要名称空间的列表:
名称空间 | 描述说明 |
---|---|
QAudio | 包含音频类使用的枚举 |
QBinaryJson | 包含用于将QJsonDocument转换为JSON二进制格式和从JSON二进制格式转换为JSON格式的函数 |
QBluetooth | 与蓝牙相关的类和功能 |
QColorConstants | 包含QColor预定义常量 |
QDBus | 包含Qt D-Bus模块中使用的各种标识符 |
QMqtt | 包含Qt MQTT模块中使用的各种标识符 |
QNativeInterface | 包含可用的本机接口 |
QOpcUa | 包含Qt OPC UA库中使用的各种标识符 |
QOpcUa::NodeIds | 此命名空间包含具有已知节点ID的枚举 |
QPasswordDigestor | 包含可用于生成哈希或密钥的函数 |
QQuickOpenGLUtils | 包含与OpenGL后端一起使用时Qt Quick的实用程序 |
QQuickTest | 包含与Qt快速测试相关的所有功能和宏 |
QScxmlExecutableContent | 包含用于解释状态机中的可执行内容的各种类型 |
QSql | 包含Qt SQL模块中使用的各种标识符 |
QSsl | 声明Qt网络中所有SSL类通用的枚举 |
QTest | 包含与Qt测试相关的所有函数和声明 |
QWebSocketProtocol | 包含与WebSocket标准相关的常量 |
Qt | 包含Qt库中使用的各种标识符 |
Qt3DAnimation | 包含Qt3DAnimation模块中的类 |
Qt3DCore | 包含Qt 3D模拟框架的基础类,以及提供使用Qt 3D框架进行渲染的能力的类 |
Qt3DCore::Quick | 包含用于在Qt3D应用程序中实现QML功能的类 |
Qt3DExtras | 包含Qt3DExtras模块中的类 |
Qt3DInput | 包含启用用户输入的类 |
Qt3DLogic | 包含启用帧同步的类 |
Qt3DLogic::Logic | 用于导入和使用模块的QML类型 |
Qt3DRender | 包含启用2D和3D渲染的类 |
Qt3DRender::Render | 用于访问类Renderer和QRenderPlugin的命名空间 |
QtAndroidPrivate | 辅助Android开发的其他功能 |
QtCoap | 包含Qt CoAP模块中使用的各种标识符 |
QtConcurrent | 高级API,可以在不使用低级线程原语的情况下编写多线程程序 |
QtFuture | 包含QFuture类使用的其他标识符 |
QtLiterals | 声明Qt类型的文字运算符 |
QtRemoteObjects | 包含远程对象模块中使用的标识符,以及从副本编译器(repc)生成的代码中使用的一些函数 |
QtWebEngineQuick | Qt WebEngine(Qt Quick)模块的助手函数 |
QtWebView | 更易于设置和使用WebView的功能 |