Qt4 和 Qt5 模块的分类
Qt5 与 Qt4 其中的一个区别是底层架构进行了改变,Qt5 引入了更加详细的模块化的概念,将众多功能细分到几个模块之中,Qt4 则是一种粗略的划分。本文主要对 Qt5 和 Qt4的模块进行一个简单的介绍。
(注:本文引用Qt4.8和Qt5.6两个版本)
一、Qt4.8 (http://doc.qt.io/qt-4.8/modules.html)
1.基础模块:
1)QtCore,提供核心的非 GUI 功能,所有模块都需要这个模块。所有这些类都可以通过<QtCore>头文件引入。。
2)QtGui,提供 GUI 程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL 和 OpenGL ES 集成、2D 图像、字体、拖放等。这些类一般由 Qt 用户界面类内部使用,当然也可以用于访问底层的 OpenGL ES 图像 API。Qt Gui 模块提供的是所有图形用户界面程序都需要的通用功能。
3)QtMultimedia,提供视频、音频、收音机以及摄像头等功能。这些类可以通过<QtMultimedia> 引入,而且需要在 pro 文件中添加 QT += multimedia。
4)QtNetwork,提供跨平台的网络功能。这些类可以通过 <QtNetwork> 引入,而且需要在 pro 文件中添加 QT += network。
5)QtOpenGL,提供对 OpenGL 的支持。
6)QtOpenVG,提供对 OpenVG 的支持。
7)QtScript,提供对 Qt Scripts 的支持。
8)QtScriptTools,为 Qt Script 提供的额外组件。
9)QtSql,提供对 SQL 数据库的支持。
10)QtSvg,提供对 SVG 文件的支持。
11)QtWebKit,提供显示和编辑 Web 内容。
12)QtXml,XML 处理。
13)QtXmlPatterns,提供对 XQuery、XPath 等的支持。
14)QtDeclarative,用于编写动画形式的图形用户界面的引擎。
15)Phonon,多媒体框架。
16)Qt3Support,Qt 3 兼容类库。
2.工具模块:
1)QtDesigner,用于扩展 Qt Designer。
2)QtUiTools,用于在自己的引用程序中处理 Qt Designer 生成的 form 文件。
3)QtHelp,联机帮助。
4)QtTest,单元测试。
3.专门供 Windows 平台的模块:
1)QAxContainer,用于访问 ActiveX 控件。
2)QAxServer,用于编写 ActiveX 服务器。
4.专门供 Unix 平台的模块:
1)QtDBus,使用 D-Bus 提供进程间交互。
二、Qt5.6 (http://doc.qt.io/qt-5/qtmodules.html)
Qt5模块分为 Essentials Modules 和 Add-on Modules 两部分。前者是基础模块,在所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行 Qt 的平台之上可以酌情引入。
1.基础模块:
1)QtCore,提供核心的非 GUI 功能,所有模块都需要这个模块。这个模块的类包括了动画框架、定时器、各个容器类、时间日期类、事件、IO、JSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML 等。所有这些类都可以通过 <QtCore> 头文件引入。
2)QtGui,提供 GUI 程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL 和 OpenGL ES 集成、2D 图像、字体、拖放等。这些类一般由 Qt 用户界面类内部使用,当然也可以用于访问底层的 OpenGL ES 图像 API。Qt Gui 模块提供的是所有图形用户界面程序都需要的通用功能。
3)Qt Multimedia、Qt Multimedia Widgets,提供视频、音频、收音机以及摄像头等功能。这些类可以通过 引入,而且需要在 pro 文件中添加 QT += multimedia。
4) Qt Network,提供跨平台的网络功能。这些类可以通过 引入,而且需要在 pro 文件中添加 QT += network。
5) Qt QML,提供供 QML(一种脚本语言,也提供 JavaScript 的交互机制) 使用的 C++ API。这些类可以通过 引入,而且需要在 pro 文件中添加 QT += qml。
6) Qt Quick、Qt Quick Layouts、Qt Quick Dialogs、Qt Quick Controls,允许在 Qt/C++ 程序中嵌入 Qt Quick(一种基于 Qt 的高度动画的用户界面,适合于移动平台开发)。这些类可以通过 引入,而且需要在 pro 文件中添加 QT += quick。
7) Qt SQL,允许使用 SQL 访问数据库。这些类可以通过 引入,而且需要在 pro 文件中添加 QT += sql。
8) Qt Test,提供 Qt 程序的单元测试功能。这些类可以通过 引入,而且需要在 pro 文件中添加 QT += testlib。
2.扩展模块:
1)Active Qt,专门用于windows的使用ActiveX和COM应用;
2)Enginio,提供一个数据库后台,通过它规定的API调用,就可以将应用程序的各种数据存储在后台上,实现即存即得。
3)Qt Android Extras,用于Android开发;
4)Qt Bluetooth,提供硬件蓝牙的访问;
5)Qt Canvas 3D,使用js开发的Qt Quick调用的OpenGL3D绘图模块;
6)Qt Concurrent,多线程的并行计算框架;
7)Qt D-Bus,D-BUS通讯协议接口;
8)Qt Graphical Effects,Qt Quick使用的处理图形效果的模块;
9)Qt Image Formats,支持多种图像格式, TIFF, MNG, TGA, WBMP等;
10)Qt Location,QML中展示地图、导航、位置的模块;
11)Qt Mac Extras,专为MAC平台提供的接口,可以使用OS和IOS操作系统的方法;
12)Qt NFC,用于方位近场通信设备的接口模块;
13)Qt OpenGL,OpenGL模块,已经包含进QtCore;
14)Qt Platform Headers,提供特定平台接口,绑定平台运行时状态的插件的模块;
15)Qt Positioning,提供方位位置,卫星和区域监控的模块;
16)Qt Print Support,打印模块;
17)Qt Quick Extras,提供Qt Quick模块的特殊控制方式;
18)Qt Quick Widgets,提供C++和Qt Quick模块的交互;
19)Qt Script,使用JS引擎的模块;
20)Qt Script Tools,使用Qt Script模块的额外组建模块;
21)Qt Sensors,访问硬件传感器和进行手势识别的模块;
22)Qt Serial Port,虚拟串口通信模块;
23)Qt SVG,SVG文件进行处理的模块;
24)Qt WebChannel,用于与html和js进行无缝交互;
25)Qt WebEngine,QML用于web开发的模块;
26)Qt WebEngine Widgets,C++用于web开发的模块;
27)Qt WebEngine Core,为QML和C++进行web开发提供公共的接口;
28)Qt WebSockets,提供RFC6455通信协议支持;
29)Qt WebView,不需要完整的web浏览器支持,即可展示QML开发的web应用;
30)Qt Windows Extras,提供windows API支持;
31)Qt X11 Extras,提供X11 API支持;
32)Qt XML,利用SAX和DOM进行XML解析的接口;
33)Qt XML Patterns,支持XPath, XQuery, XSLT and XML 的模式验证。
3.GPL和GPLv3等商用协议模块,开源版本不支持(也就是增值模块)
1)Qt for Device Creation,快速、容易、完整的嵌入式开发工具;
2)Qt Charts,利用UI组件展示数据模型,图表模块;
3)Qt Quick Compiler,QML编译器,将QML文件编译成二进制文件,以提高加载速度和代码的安全性;
4)Qt Data Visualization,进行3D数据可视化的开发模块;
5)Qt Purchasing,开发移动平台的商店,购物模块;
6)Qt Virtual Keyboard,虚拟键盘模块;
7)Qt Quick 2D Renderer,支持没有OpenGL模块的QML2D展示模块。
4.技术预览模块
1)Qt 3D,2D、3D实时仿真渲染模块;
2)Qt Serial Bus,串行总线接口,目前只支持Modbus和CAN;
3)Qt Labs Controls,为移动设备和嵌入式方面提供一个轻量级的QML开发接口,为QML开发提供简易样式架构,协同Qt Quick和Qt Quick Layouts模块进行工作。
5.工具模块:
1)Qt Designer,UI设计器;
2)Qt Help,帮助文档;
3)Qt UI Tools,用于处理UI设计器设计的表单。
https://blog.csdn.net/u011822862/article/details/51438049
Qt4 和 Qt5 模块的分类的更多相关文章
- 从Qt4到Qt5的,主要的进化有三(对于QtWidget的精简和优化会很有限)
从Qt4到Qt5的,主要的进化有三:1 语言的进化,原来是基于C++(qtwidget)和XML(.ui),现在添加了QML(QtQuick)+JS(v8)的架构.2 绘图系统的进化,原先基于QPai ...
- node模块的分类
模块的分类 1.核心模块 2.文件模块 3.第三方模块(npm安装的) 模块的引用: 1.路径 2.模块名 模块的流程: 1.创建模块:teacher.js 2.导出模块:exports.add=fu ...
- 在VS2010 中兼容Qt4和Qt5
1,同时安装Qt4和Qt5 Qt_add,然后在 2. 如果之前的项目使用Qt4编写的,如果新添加新的类和ui的话,一定要选择Qt Add_in 1.1.11,不然就无法生成moc文件,随便选择 Ch ...
- Qt4升级Qt5注意问题
Qt4升级Qt5注意问题 Qt4过渡到Qt5的项目一开始就受阻,记录一下遇到的下面的问题 --->编译遇到类似错误: error: QCalendarWidget: No such file o ...
- qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用
原则上,两者是不可以同时存在的,但是如果都安装了,该如何分别使用他们呢? Qt4 Visual Studio Add-in:官网可以下载安装程序,qt-vs-addin-1.1.11-opensour ...
- Qt入门之基础篇(1):Qt4及Qt5的下载与安装
转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...
- Qt5模块简介
原文链接:Qt5 模块简介 无意中看到这篇文章,虽然讲的不是经常用的东西,但是看了这篇文章之后,可以对qt有个大致的了解,能够清晰的知道自己想要什么,应该关注那一部分,学习了,相信以后会又很大 ...
- 【转】qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用
原则上,两者是不可以同时存在的,但是如果都安装了,该如何分别使用他们呢? Qt4 Visual Studio Add-in:官网可以下载安装程序,qt-vs-addin-1.1.11-opensour ...
- Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装
转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...
随机推荐
- Debian9安装QT5.12.3
打开虚拟机,打开火狐浏览器,输入网址下载QT5.12(linux版本,约13.G) download.qt.io/archive/qt/5.12/5.12.0/ 文件默认下载在Downloads文件夹 ...
- Diamond types are not supported at language level '5‘
当时,我问了下大神,他们问我是不是jdk问题.因为jdk8才支持这样的棱形写法.当时自己的jdk版本是jdk8,然后就奇怪了,最后我发现原来在Language level中调成了5.0 5.0不支持6 ...
- Swagger 慢
Swagger 慢 - 国内版 Binghttps://cn.bing.com/search?FORM=U227DF&PC=U227&q=Swagger+%E6%85%A2 rest框 ...
- MAC下快速打开指定目录(转)
使用了这么长时间MAC,打开文件查找目录总是感觉还是不如windows来的爽快 1.通过快捷键搜索 command + 空格,输入关键词 2.通过控制台打开 1) 跳转到指定路径 cd ...
- Centos7迁移fastdfs文件系统
系统从一个地方迁移到另一个地方,数据保持不变,但是ip地址和网络情况不一样了,最困难的是要迁移的那个地方还么有互联网,这TM就坑了,所以想到将FastDFS存储的目录整体拷贝过去,这个方法简单粗暴,这 ...
- 使用jquery循环并获取 json 数组的键/值对
var resultJSON = '{"FirstName":"John","LastName":"Doe"," ...
- radioButon的使用
界面: <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android=& ...
- libfacedetection 人臉識別
计算相似度,然后比对 QVector<cv::Point> vec_point1 = facedetect_frontal_surveillance4(face_img.clone()); ...
- QThread: Destroyed while thread is still running
Qt5已经分装了函数 void QThread::requestInterruption() { Q_D(QThread); QMutexLocker locker(&d->mutex) ...
- 泡泡一分钟:Perception-aware Receding Horizon Navigation for MAVs
作为在空中抛掷四旋翼飞行器后恢复的第一步,它需要检测它使用其加速度计的发射.理想的情况下,在飞行中,加速度计理想地仅测量由于施加的转子推力引起的加速度,即.因此,当四旋翼飞行器发射时,我们可以检测到测 ...