2021.6.3:QT——类库模块

Qt类库中大量的类根据功能划分为了各种模块,这些模块又分为以下几大类:

  • Qt基本模块(Qt Essentials):提供Qt的基本功能
  • Qt附加模块(Qt Add-Ons):一些特定功能模块
  • 增值模块(Value-Add Modules):单独发布的额外价值的模块
  • 技术预览模块(Technology Preview Modules):处于开发阶段,但可以作为技术预览使用的模块
  • Qt工具(Qt Tools):帮助应用程序开发的一些工具

提示Qt官网的"All Modules"页面中可以查看这些模块的信息。

Qt基本模块

Qt基本模块是Qt在所有平台上的基本功能,它们在所有开发平台和目标平台上都可用。

在Qt 5所有版本上是源代码二进制兼容的。

这些具体的Modules见下表:

Modules 描述
core 其他Modules都用到的核心非图形
GUI 设计GUI界面的基础类,包括OpenGL
Multimedia 音频、视频、摄像头、广播功能类
Multimedia Widgets 实现多媒体功能的界面组件类
Network 使网络编程更简单和轻便的类
QML 用于QMLJavaScript的类
Quick 用于构建 具有定制用户界面的动态APP 的声明框架
Quick Controls 创建桌面样式用户界面。基于Quick的用户界面控件
Quick Dialogs 用于Quick的系统对话框
Quick Layouts 用于Quick2界面元素的布局项
SQL 使用SQL用于数据库操作的类
Test 使用应用程序进行单元测试的类
Widgets 用于构建GUI界面的C++图形组件类

 Core模块是Qt类库的核心,所有其他模块都依赖于此,如果使用qmake构建项目,则Core模块是自动被加入项目的。

GUI模块提供了用于开发GUI应用程序的必要的类,使用qmake构建应用程序时,GUI模块是自动被加入项目的。如果项目中不使用GUI功能,则需要在项目配置文件(.pro)加入如下的一行:

QT -= gui

其他的模块一般不会被自动加入到项目,如果需要在项目中使用某个模块,可以在.pro文件中添加此模块。例如,如果需要在项目中使用MultimediaMultimedia Widgets模块,则需要在.pro文件中加入如下的语句:

QT += multimedia multimediawidgets

如果在项目中用到了SQL模块,则需要在.pro文件中加入如下语句:

QT += sql

Qt附加模块

附加模块可以实现一些特定的目的。这些模块可能只有在某些开发平台上有,或者只能用于某些操作系统,或者只是为了向后兼容。用户安装时可以选择性地安装这些附加模块。

下表是附加模块表(未列出一些过时的模块,以及专门用于QML或Qt Quick的模块)

Modules 描述
Active Qt 用于开发使用ActiveX和COM的Windows程序
3D 支持2D和3D渲染
Android Extras 提供Android平台相关的API
Bluetooth 提供访问蓝牙硬件的功能
Concurrent 提供一些类,无需使用底层的线程控制就可以编写多线程程序
D-Bus 使进程间通过D-Bus协议通信的一些类
Gamepad 游戏手柄
Image Formats 支持附加图片格式的插件,包括TIFF、MNG、TGA、WBMP
Mac Extras macOS平台相关的API
NFC NFC硬件
Positioning GPS、WiFi定位
Print Support 打印控制
Purchasing Qt APP中购买功能
Sensors 传感器硬件
Serial Bus 串行访问工业总线,目前只支持CAN和Modbus协议
SVG SVG图片文件
WebChannd 服务器端(QML或C++应用程序)与客户端(HTML/JavaScript或QML应用程序)间的P2P通信
WebEngine 提供类和函数,用于在应用程序中嵌入网页内容
WebSocket 兼容于RFC 6455的WebSocket通信,是实现客户端程序与远端主机双向通信的基于Web的协议
Windows Extras Windows平台相关的API
XML 此模块不再维护了,应使用QtCore中的QXMLStreamReader和QXMLStreamWriter、Qt XML Patterns提供对XPath、XQuery、XSLT和XML等的支持
Charts 用于数据显示的二维图表组件
Data Visualization 3D数据可视化显示的界面组件
Virtual Keyboard 实现不同输入法的虚拟键盘框架

增值模块

除了随Qt 5发布的上述这些模块,还有一些模块是单独发布的,这些模块只有在商业版许可的Qt里才有:

Qt for Device Creation 高效、易用、全集成的嵌入式设备应用程序开发工具,包括很多其他增值特性
Qt Quick Compiler 编译.qml源文件生成二进制应用程序的编译器,提高载入时间和代码的安全性

技术预览模块

一些还处于开发和测试阶段的模块,一般技术预览模块经过几个版本的发布后会变成正式的模块。

Qt工具

Qt工具在所有支持的平台上都可以使用,用于帮助应用程序的开发与设计。

工具 描述
Qt Designer 用于扩展Qt Designer的类
Qt Help 在应用程序中集成在线文档的类,实现类似于Qt Assistant的功能
QtUI Tools 操作Qt Designer生成的窗体的类
posted @ 2021-06-04 11:32  ShineLe  阅读(178)  评论(0)    收藏  举报