Qt类库模块划分详解_第1页
Qt类库模块划分详解_第2页
Qt类库模块划分详解_第3页
Qt类库模块划分详解_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Qt类库里大量的类根据功能分为各种模块,这些模块又分为以下几大类:Qt基本模块(QtEssentials):提供了Qt在所有平台上的基本功能。Qt附加模块(QtAdd-Ons):实现一些特定功能的提供附加价值的模块。•增值模块(Value-AddModules):单独发布的提供额外价值的模块或工具。技术预览模块(TechnologyPreviewModules):一些处于开发阶段,但是可以作为技术预览使用的模块。Qt工具(QtTools):帮助应用程序开发的一些工具。提示:Qt官网的“AllModules”页面可以查看所有这些模块的信息。Qt基本模块Qt基本模块是Qt在所有平台上的基本功能,它们在所有的幵发平台和目标平台上都可用,在Qt5所有版本上是源代码和二进制兼容的。这些具体的基本模块见表1。表1Qt基本模块模块 描述QtCore其他模块都用到的核心非图形类QtGUI设计GUI界面的基础类,包括OpenGLQtMultimedia音频、视频、摄像头和广播功能的类QtMultimediaWidgets实现多媒体功能的界面组件类QtNetwork使网络编程更简单和轻便的类QtQML用于QML和JavaScript语言的类QtQuick用于构建具有定制用户界面的动态应用程序的声明框架QtQuickControls创建桌面样式用户界面,基于QtQuick的用户界面控件QtQuickDialogs用于QtQuick的系统对话框类型QtQuickLayouts用于QtQuick2界面兀素的布局项QtSQL使用SQL用于数据库操作的类QtTest用于应用程序和库进行单元测试的类QtWidgets用于构建GUI界面的C++图形组件类QtCore模块是Qt类库的核心,所有其他模块都依赖于此模块,如果使用qmake构建项目,则QtCore模块是自动被加入项目的。QtGUI模块提供了用于开发GUI应用程序的必要的类,使用qmake构建应用程序时,QtGUI模块是自动被加入项目的。如果项目中不使用GUI功能,则需要在项目配置文件中加入如下的一行:QT-二gui其他的模块一般不会被自动加入到项目,如果需要在项目中使用某个模块,则可以在项目配置中添加此模块。例如,如果需要在项目中使用QtMultimedia和QtMultimediaWidgets模块,需要在项目配置文件中加入如下的语句:QT+=multimediamultimediawidgets需要在项目中使用QtSQL模块,就在项目配置文件中加入如下的语句:QT+=sqlQt附加模块Qt附加模块可以实现一些特定目的。这些模块可能只在某些开发平台上有,或只能用于某些操作系统,或只是为了向后兼容。用户安装时可以选择性地安装这些附加模块。表2是附加模块列表(未列出一些过时的模块,以及专门用于QML或QtQuick的模块)。表2Qt附加模块模块 描述ActiveQt用于开发使用ActiveX和COM的Windows应用程序Qt3D支持2D和3D渲染,提供用于开发近实时仿真系统的功能QtAndroidExtras提供Android平台相关的APIQtBluetooth提供访问蓝牙硬件的功能QtConcurrent提供一些类,无需使用底层的线程控制就可以编写多线程程序

QtD-Bus使进程间通过D-Bus协议通信的一些类QtGamepad使Qt应用程序支持游戏手柄硬件的使用QtImageFormats支持附加图片格式的插件,包括TIFF、MNG、TGA、WBMPQtMacExtras提供macOS平台相关的APIQtNFC提供访问NFC(近场通信)硬件的功能QtPositioning提供一些类,用于通过GPS卫星、WiFi等定位QtPrintSupport提供一些用于打印控制的类QtPurchasing提供一些类,在Qt应用程序内实现应用内购买的功能QtSensors提供访问传感器硬件的功能,以识别运动和手势QtSerialBus访问串行工业总线的功能,目前只支持CAN和Modbus协议QtSVG提供显示SVG图片文件的类QtWebChannd用于实现服务器端(QML或C++应用程序)与客户端(HTML/JavaScript或QML应用程序)之间的P2P通信QtWebEngine提供类和函数,实现在应用程序中嵌入网页内容QtWebSocket提供兼容于RFC6455的WebSocket通信,是实现客户端程序与远端主机进行双向通信的基于Web的协议QtWindowsExtras提供Windows平台相关的APIQtXML该模块不再维护了,应使用QtCore中的QXmlStreamReader和QXmlStreamWriterQtXMLPatterns提供对XPath、XQuery、XSLT和XML等的支持QtCharts用于数据显示的一维图表组件QtDataVisualization用于3D数据可视化显示的界面组件QtVirtualKeyboard实现不冋输入法的虚拟键盘框架增值模块除了随Qt5发布的上述这些模块,还有一些模块(见表3)是单独发布的,这些模块只在商业版许可的Qt里才有。

表3Qt的增值模块特性描述QtforDeviceCreation高效、易用、全集成的嵌入式设备应用程序开发工具,包括很多其他增值特性QtQuickCompiler编译.qml源文件生成二进制应用程序的编译器,提高载入时间和代码的安全性技术预览模块技术预览模块就是一些还处于开发和测试阶段的模块,一般技术预览模块经过几个版本的发布后会变成正式的模块。表4是Qt5.9中的技术预览模块。表4技术预览模块模块描述QtNetworkAuthorization基于OAuth协议,为应用程序提供网络账号验证的功能QtSpeech提供文字转语音(text-to-speech)功能支持QtRemoteObjects进程间或设备间通信,共享QObject的APIQt工具Qt工具(见表5)在所有支持的平台上都可以使用,用于帮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论