1. Qt 模块简介

Qt由许多模块组成,分别支持不同领域的功能,主要分为 EssentialsAdd-On

Qt Essential 是基本模块,它们可以在所有受支持的开发平台和经过测试的目标平台上使用。基本模块是通用的,适用于大多数Qt应用程序。

Qt Add-On 是附加模块/扩展模块,用于特殊目的开发。这些模块可能仅在某些开发平台上可用。许多附加模块要么功能完整,存在是为了向后兼容,要么仅适用于某些平台。每个附加模块分别指定其兼容性。

1.1 Qt基本模块

Qt 基本模块如下表:

模块 描述
Qt Core 所有基于Qt的应用程序的基础,其他模块使用的核心非图形类。
提供信号与槽的对象通信机制、并发和多线程、容器/事件系统、插件和I/O设施。
Qt D-Bus D总线协议上进程间通信的类。
是一种进程间通信(IPC)和远程过程调用(RPC)机制,一般用于用于多对多通信。
Qt GUI 图形用户界面(GUI)组件的基类。
包括与窗⼝系统的集成、事件处理、OpenGL和OpenGL ES集成、2D图像、字体、拖放等。
这些类⼀般在Qt⽤户界⾯类内部使⽤,当然也可以⽤于访问底层的OpenGL ES 图像API。
Qt Gui模块提供的是所有图形⽤户界⾯程序都需要的通⽤功能。
Qt Network 提供跨平台的⽹络功能,使网络编程更容易和更可移植。
Qt QML 用于QML和JavaScript语言。
Qt Quick ⼀种基于 Qt 的⾼度动画的⽤户界⾯,适合于移动平台开发,用于构建具有自定义用户界面的高度动态应用程序的声明性框架。
Qt Quick Controls 提供轻量级QML类型,用于为桌面、嵌入式和移动设备创建高性能的用户界面。这些类型采用简单的样式体系结构,非常有效。
Qt Quick Dialogs 用于从Qt快速应用程序创建系统对话框并与之交互的类型。
Qt Quick Layouts 用于在 Qt Quick 2 中安排项目的布局。
Qt Quick Test QML应用程序的单元测试框架,其中测试用例以JavaScript函数的形式编写。
注:二进制兼容性保证不适用于 Qt 快速测试。但是,它将保持源代码兼容。
Qt Test 用于单元测试 Qt 应用程序和库的类。
注意:二进制兼容性保证不适用于 Qt 测试。 但是,它将保持源兼容。
Qt Widgets 扩展Qt GUI模块的C++窗口类 。

1.2 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 CoAP All All 实现RFC 7252定义的CoAP客户端。
Qt Concurrent All All 用于编写多线程程序而不使用低级线程原语的类。
Qt Help All All 用于将文档集成到应用程序中的类。
Qt Image Formats All All 用于其他图像格式的插件:TIFF、MNG、TGA、WBMP。
Qt OpenGL All All 使OpenGL在Qt应用程序中易于使用的C++类。一个单独的Qt OpenGL Widgets C++类,提供了一个用于渲染OpenGL图形的窗口小部件。
Qt Multimedia All All (except QNX, INTEGRITY) 一组丰富的QML类型和C++类,用于处理多媒体内容。还包括处理摄像头访问的API。
Qt Print Support All All 使打印更容易和更便携的类。
Qt Quick Widgets All All 提供用于显示Qt快速用户界面的C++类。
Qt Remote Objects All All 提供了一种易于使用的机制,用于在进程或设备之间共享QObject的API(属性/信号/插槽)。
Qt OPC UA All All (except QNX, WebAssembly) 工业应用中数据建模和数据交换协议。
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文件内容的类。支持SVG1.2标准的一个子集。一个单独的Qt SVG Widgets C++类库,支持在Widgets 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 具有本地web引擎的平台 通过使用平台原生的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 用于创建三维数据可视化的UI组件。
Qt Lottie Animation All All 用于渲染由Adobe After Effects的Bodymovin插件以JSON格式导出的图形和动画。
Qt MQTT All All 提供MQTT协议规范的实现。
Qt Network Authorization All All 为在线服务提供基于OAuth的授权支持。
Qt Virtual Keyboard All Linux and Windows desktop, and Boot to Qt targets. 用于实现不同输入方法以及QML虚拟键盘的框架。支持本地化键盘布局和自定义视觉主题。
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 Wayland Compositor All Linux and Boot to Qt targets. 提供开发Wayland合成器的框架。

以下扩展模块仍在开发中:

模块 开发平台 目标支持平台 描述
Qt PDF All Windows, Linux, and macOS. 用于显示PDF文档的类和函数。

Qt 学习(三) —— Qt 模块相关推荐

  1. Qt学习之Qt基础入门(下)

    1. 前言 前两篇博客简单的阐述了一下Qt的入门用法,这篇博客继续跟着视频学习. Qt入门系列: Qt学习之C++基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) ...

  2. Qt学习之Qt基础入门(中)

    1. 前言 上一篇博客,总结了Qt的一些基础用法,这篇博客继续跟视频学习Qt的常用方法 Qt入门系列: Qt学习之C++基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门( ...

  3. 嵌入式学习之QT学习---14 QT跨平台运行之把QT程序交叉编译到ARM开发板

    想要把qt工程放到开发板上运行,就需要用到交叉编译.由于qt是跨平台的,所以只需要换个编译器编译一下就可以. 以qt学习–计时器的例子为例,在移植之前还需要进行一个准备工作,在windows下运行的时 ...

  4. 嵌入式学习之QT学习---5 QT上位机开发之串口助手(上)

    1.qt的三驾马车 qt下的串口编程 qt下的网络编程 qt下操作GPIO 2.设计ui界面 设计ui界面之前,需要新建一个QT工程,简要再回顾一下创建QT工程的步骤:new project-> ...

  5. C++后续:QT学习(Qt概述,创建QT项目)

    目录 声明 一. Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt支持的平台 1.4 Qt版本 1.5 Qt的下载与安装 1.6 Qt的优点 二.创建 Qt项目 2.1 如何创建 2. ...

  6. Qt学习三 - 菜单栏、工具栏、状态栏

    MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi( ...

  7. Qt学习(三):事件、定时器、事件过滤器

    知识点 mybutton.cpp 判断是否左键 mylabel.cpp 判断是左键 中键还是右键按下.进入离开窗口区域的显示 mywidget.cpp 定时器 事件过滤器 关闭提醒事件,关闭的时候提示 ...

  8. 嵌入式学习之QT学习---8 QT网络编程之TCP通信

    前言: Qt网络模块提供了用于编写TCP/IP客户端和服务器端程序的各种类,如用于TCP通信的QTcpSocket和QTcpServer,用于UDP通信的QUdpSocket,还有用于实现HTTP.F ...

  9. QT学习:Qt 5.11.1+OpenCV (含Contrib)-3.4.3环境搭建

    一.安装CMake CMake是用于编译的基本工具,其下载地址为:https://cmake.org/download/,下载获得的安装包 文件名为cmake-3.12.3-win64-x64.msi ...

最新文章

  1. Logon database Tiger引起DataGuard不同步问题
  2. mysql快速迁移数据sql_使用Navicat Premium工具快速迁移数据方法 适用于mysql及mssql数据库...
  3. LeetCode-46. Permutations
  4. 自顶向下和自底向上测试的优缺点
  5. ssh整合,明明已经导入包,却总是有很多ClassNotFoundException
  6. P1702 突击考试
  7. 便捷注册live、MSN邮箱
  8. 【中医学】11 常见病证-2:心悸:眩晕:中风:血证:黄疸:痹证:消渴
  9. html 批量pdf 打印,前端连接打印机批量打印pdf格式的文件
  10. 基金A类和C类的科普贴
  11. javaweb_会话管理(sessionCookie)
  12. 全网最全最细的CSDN【top1】接口测试工具Fiddler抓包工具总结
  13. ffmpeg支持MP3编码的方法
  14. 好程序员web前端分享移动前端开发和web前端开发的区别
  15. 一句代码将OpenCV的Mat对象的数据打印输出
  16. IntelliJ IDEA快捷键大全 + 动图演示
  17. 广州Java培训就业薪资好不好?
  18. 80行Python代码制作微信抢红包程序,运气王属于有技术的人
  19. java计算机毕业设计springboot+vue服装商城-服装销售网站
  20. 安装cuda过程中出现running processes的提示

热门文章

  1. 中年失业的处境有多艰难,成年人的生活不容易,且行且珍惜
  2. Java项目在Linux环境使用aspose把word转pdf乱码问题
  3. 大话设计模式(php版)第五章——依赖倒装原则
  4. 续 Codeforces 596 C Wilbur and Points
  5. win10系统升级后触摸板点击没反应
  6. 什么是连连一键开店?连连一键开店是怎么操作的?
  7. 如何用 Node.js 爬虫?
  8. clickhouse集群容器化搭建
  9. java多页码分页_对页码进行分页
  10. Lerna 多 package 源代码管理方案