QT模块
QT类库模块
分以下几大类:
QT基本模块(QT Essentials):提供了QT在所有平台上的基本功能
QT附加模块(QT Add-Ons):实现了一些特定功能的提供附加价值的模块
增值模块(Value-AddModules):单独发布的提供额外价值的模块或工具
技术预览模块(Technology Preview Modules):一些处于开发阶段,但是可以作为技术预览使用的模块。
QT工具(QT Tools):帮助应用程序开发的一些工具
基本模块
| 模块 | 描述 |
|---|---|
| QT core | 其他模块都用到的核心非图形类 |
| QT GUI | 设计GUI界面的基础类,包括OpenGL |
| QT Multimedia | 音频、视频、摄像头和广播功能的类 |
| QT Multimedia Widgets | 实现多媒体功能的界面组件类 |
| QT Network | 网络变成更简单和轻便的类 |
| QT QML | 用于QML和javaScript语言的类 |
| QT Quick | 用于构建具有定制用户界面的动态应用程序的声明框架 |
| QT Quick Controls | 创建桌面样式用户界面,基于QT Quick的用户界面控件 |
| QT Quick Dialogs | 用于QT Quick的系统对话框类型 |
| QT Quick Layouts | 用于QT Quick 2 界面元素的布局项 |
| QT SQL | 使用SQL用于数据库操作的类 |
| QT Test | 用于应用程序和库进行单元测试的类 |
| QT Widgets | 用于构建GUI界面的C++图形组件类 |
其他模块都依赖于QT Core模块,使用qmake构建,此模块会自动被加入项目
qmake 构建时,QT GUI模块是自动被加入项目的。如果项目中不使用GUI功能:
1 | QT -= gui |
其他模块一般不会被自动加入,在项目中使用某个模块,可以在项目配置中添加:
1 | QT += multimedia multimediawidgets |
QT 附加模块
| 模块 | 描述 |
|---|---|
| Active QT | 用于开发使用ActiveX和COM的Windows应用程序 |
| QT 3D | 支持2D和3D渲染,提供用于开发近实时方正系统的功能 |
| QT Android Extras | 提供Android平台相关的API |
| QT Bluetooth | 提供访问蓝牙硬件的功能。 |
| QT Concurrent | 提供一些类,无需使用底层的线程控制就可以编写多线程程序 |
| QT D-Bus | 使进程间通过D-Bus协议通信的一些类 |
| QT Gamepad | 使QT应用程序支持游戏手柄硬件的使用 |
| QT Image Formats 图像格式 | 支持附加图片格式的插件,包括TIFF、MNG、TGA、WBMP |
| QT Mac Extras | 提供macOS平台相关的API |
| QT NFC | 提供访问NFC(进场通信)硬件的功能 |
| QT Positioning 定位 | 提供一些类,用于通过GPS卫星,WIFI等定位 |
| QT Print Support 打印支持 | 提供一些用于打印控制的类 |
| QT Purchasing 采购 | 提供一些类,在QT应用程序内实现应用内购买的功能 |
| QT Sensors 传感器 | 提供访问传感器硬件的功能,以识别运动和手势 |
| QT Serial Bus 串行总线 | 访问串行工业总线的功能,目前只支持CAN和Modbus协议 |
| QT SVG | 提供显示SVG图片文件的类 |
| QT WebChannd | 用于实现服务器端(QML或C++应用程序)与客户端 (HTML/JavaScript或QML应用程序)之间的P2P通信 |
| QT WebEngine | 提供类和函数,实现在应用程序中嵌入网页内容 |
| QT WebSocket | 提供兼容于RFC 6455的WebSocket通信, 是实现客户端程序与远端主机进行双向通信的基于Web的协议 |
| QT Windows Extras | 提供Windiws平台相关的API |
| QT XML | 该模块不在维护了,应使用QTCore中的QXmlStreamReader和QXmlStram Writer Qt XML Patterns 提供对XPath、XQuery、XSLT和XML等的支持 |
| QT Charts | 用于数据显示的二维图表组件 |
| QT Data Visyalization | 用于3D数据可视化显示的界面组件 |
| QT Virtual Keyboard | 实现不同输入法的虚拟键盘框架 |
QT附加模块可以实现一些特定目的。可能只在某些开发平台上有,或只能用于某些操作系统,或只是为了向后兼容。
QT增值模块
| 特征 | 描述 |
|---|---|
| QT for Device Creation | 高效、易用、全集成的嵌入式设备应用程序开发工具,包括很多其他增值特征 |
| QT Quick Compiler | 编译.qml源文件生成二进制应用程序的编译器,提高载入时间和代码的安全性 |
这些模块旨在商业版许可的QT里才有
技术预览模块
| 模块 | 描述 |
|---|---|
| QT Network Authorization | 基于OAuth协议,为应用程序提供网络账号验证的功能 |
| QT Speech | 提供文字转语音(text-to-speech)功能支持 |
| QT Remote Objects | 进程间或设备间通信,共享QObject的API |
就是一些还处于开发和测试阶段的模块,一般技术预览模块经过几个版本的发布后会变成正式的模块
QT工具
| 工具 | 描述 |
|---|---|
| QT Designer | 用于扩展QT Designer的类 |
| QT Help | 在应用程序中继承在线文档的类,实现类似于QT Assistant的功能 |
| QTGUI Tools | 操作QT Designer生成的窗体的类 |
QT工具所有支持的平台上都可以使用,用于帮助应用程序的开发和设计