QT基础之【模块】

摘要:
1.本文介绍了QT5.12.9的模块,主要核心内容来源于帮助文档,少量整理网络中的资料
2.分析查看安装中径中的全部模块

写在前面

  1. 端正学习思路

  2. 不要试图一口吃个胖子,一锹挖口井,要懂得循序渐进、螺旋式上升

  3. 心急吃不了热豆腐,即要有耐心,也要保持专注

  4. Linux内核源码几百M,几十万个文件,全能看完吗?全能搞懂吗?有那些时间吗?

  5. 重要的是掌握快速学习的方法,抓住重点,善于利用工具,以最短的时间解决重重要的

  6. 题。然后再回顾->补全->迭代->积累->持续提升

版本信息

  • Qt 5.12
  • All Modules
  • Qt 5.12.9 Reference Documentation

内容

  • QT基本模块
  • QT附加模块
  • 增值模块
  • 技术预览模块
  • QT工具

全部模块

QT基本模块

Qt Essentials定义了Qt在所有平台上的基础。它们可用于所有受支持的开发平台和已测试的目标平台。除了测试模块将保持源代码兼容之外,这些模块将在整个Qt 5中保持源代码和二进制文件兼容。

基本模块对于大多数Qt应用程序都是通用且有用的。用于特殊目的的模块被视为附加模块,即使它在所有受支持的平台上可用。

下表列出了Qt的基本模块:

模块描述
Qt Core其他模块使用的核心非图形类。
Qt GUI图形用户界面(GUI)组件的基类。包括OpenGL。
Qt Multimedia音频,视频,广播和相机功能类。
Qt Multimedia Widgets实现多媒体功能的基于Widgets的类。
Qt Network易于使用和移植的网络编程类
Qt QML用于QML和JavaScript语言的类。
Qt Quick一个声明性框架,用于构建具有自定义用户界面的高度动态应用程序。
Qt Quick Controls提供轻量级QML类型,用于为桌面、嵌入式和移动设备创建高性能用户界面。这些类型采用简单的样式体系结构,非常高效。
Qt Quick Dialogs用于在Qt Quick应用程序中创建和交互系统对话框的类型。
Qt Quick Layouts布局是用于在用户界面中安排基于Qt Quick 2的项目的项。
Qt Quick TestQML应用程序的单元测试框架,其中测试用例被编写为JavaScript函数。注意:二进制兼容性保证不适用于Qt快速测试。但是,它将保持源代码兼容。
Qt SQL用于使用SQL进行数据库集成的类。
Qt Test类的单元测试Qt应用程序和库。注意:二进制兼容性保证不适用于Qt Test。但是,它将保持源代码兼容。
Qt Widgets扩展Qt GUI类与C++ widgets。

如果你使用qmake来构建你的项目,Qt Core和Qt GUI模块默认包含在内。要只链接到Qt Core,请在.pro文件中添加以下行:

QT -= gui

在Windows上,如果您不使用qmake或其他构建工具,如CMake,您还需要链接到qtmain库。

QT附加模块

Qt附加模块为特定目的带来附加价值。这些模块可能只在某些开发平台上可用。许多附加模块要么功能完备,并且是为了向后兼容而存在的,要么只适用于某些平台。每个附加模块分别指定其兼容性承诺。

Qt安装程序包括下载附加组件的选项。欲了解更多信息,请访问入门Qt页面。

下表列出了Qt附加模块:

模块开发平台目标平台描述
Active QtWindowsWindows类用于使用ActiveX和COM的应用程序
Qt 3DAllAll支持2D和3D渲染的近实时仿真系统的功能。
Qt Android ExtrasAllAndroid为Android提供特定于平台的api。
Qt BluetoothAllAndroid, iOS, Linux, macOS, and WinRT提供对蓝牙硬件的访问。
Qt Canvas 3D
(Deprecated)弃用
AllAll允许使用JavaScript从Qt快速应用程序调用类似opengl的3D绘图。
Qt ConcurrentAllAll用于编写多线程程序而不使用低级线程原语的类。
Qt D-BusAllAll通过D-Bus协议实现进程间通信的类。
Qt GamepadAllAndroid, iOS, macOS, tvOS (including the tvOS remote), Linux, Windows使Qt应用程序支持使用游戏手柄硬件。
Qt Graphical EffectsAllAll图形效果与Qt Quick2。
Qt HelpAllAllbr/>用于将文档集成到应用程序中的类,类似于Qt Assistant。
Qt Image FormatsAllAll附加图像格式的插件:TIFF, MNG, TGA, WBMP。
Qt LocationAllAll在QML应用程序中显示地图、导航和位置内容。
Qt Mac ExtrasAllmacOS为macOS提供特定于平台的api。
Qt NFCAllAndroid and Linux提供对近场通信(NFC)硬件的访问。
Qt OpenGL (Deprecated)
(弃用)
AllAllOpenGL支持类。已弃用,支持Qt GUI模块中的QOpenGL*类。
Qt Platform HeadersQt for Windows, Linux, macOSQt for Windows, Linux, macOS, Android提供封装平台特定信息的类,绑定到平台插件的给定运行时配置。
Qt PositioningAllAndroid, iOS, macOS, Linux, WinRT.提供对位置、卫星和区域监控类的访问。
Qt Print SupportAllAll类,使更容易和更可移植。打印
Qt PurchasingAllAndroid, iOS, and macOS.允许在Qt应用程序中购买应用。
Qt Quick Controls 1
(Deprecated)
AllAll可重用的Qt快速基于UI控件,以创建经典的桌面风格的用户界面。已弃用,支持Qt Quick Controls 2,它更好,更容易使用。
Qt Quick ExtrasAllAll提供了一组专门的控件,可用于在Qt Quick中构建接口。
Qt Quick WidgetsAllAll提供一个C++ Widget类,用于显示Qt Quick用户界面。
Qt Remote ObjectsAll提供了一个易于使用的机制来共享QObject的API (Properties/Signals/Slots)在进程或设备之间。
Qt Script
(Deprecated)
AllAll用于使Qt应用程序可编写脚本的类。不支持Qt QML模块中的QJS*类。
Qt SCXMLAllAll提供用于从SCXML文件创建状态机并将其嵌入应用程序的类和工具。
Qt Script Tools
(Deprecated)
AllAll使用Qt Script的应用程序的附加组件。
Qt SensorsAllAndroid, Qt for iOS, WinRT and Mer.提供对传感器硬件和动作手势识别的访问。
Qt Serial BusAllWindows, Linux and Boot to Qt targets.提供访问串行工业总线接口。目前该模块支持CAN总线和Modbus协议。
Qt Serial PortAllWindows, Linux, and macOS.提供对硬件和虚拟串口的访问。
Qt SpeechAllAll提供对可访问性特性的支持,例如文本到语音的转换。
Qt SVGAllAll用于显示SVG文件内容的类。支持SVG 1.2 Tiny标准的子集。
Qt UI ToolsAllAll类加载QWidget基于表单创建在Qt设计器动态,在运行时。
Qt WebChannelAllAll提供从HTML客户端访问QObject或QML对象,实现Qt应用程序与HTML/JavaScript客户端的无缝集成。
Qt WebEngineAllWindows, Linux, and macOS.类和函数嵌入web内容的应用程序使用Chromium browser project。
Qt WebSocketsAllAll提供WebSocket通信符合RFC 6455。
Qt WebViewAllPlatforms with a native web engine.通过使用平台原生api在QML应用程序中显示web内容,而无需包含完整的web浏览器堆栈。
Qt Windows ExtrasAllWindows为Windows提供特定于平台的api。
Qt X11 ExtrasAllLinux/X11为X11提供特定于平台的api。
Qt XMLAllAllSAX和DOM的c++实现。注意:该模块不需要使用QXmlStreamReader和QXmlStreamWriter。它们已经是Qt Core的一部分。
Qt XML PatternsAllAll支持XPath、XQuery、XSLT和XML模式验证。
Qt Wayland CompositorLinuxLinux and Boot to Qt targets.提供一个框架来开发Wayland合成器。
Add-ons available under Commercial Licenses, or GNU General Public License v3
Qt ChartsAllAllUI组件用于显示视觉上令人愉悦的图表,由静态或动态数据模型驱动。
Qt Data VisualizationAllAllUI组件用于创建令人惊叹的3D数据可视化。
Qt Network AuthorizationAllAll支持基于oauth的在线服务授权。
Qt Virtual KeyboardAllLinux and Windows desktop, and Boot to Qt targets.实现不同输入法的框架以及QML虚拟键盘。支持本地化键盘布局和自定义视觉主题。
Qt Quick WebGLAllWebGL-enabled web browsers提供一个平台插件,允许使用WebGL™在网络上流式传输Qt Quick用户界面。

增值模块

除了作为Qt 5一部分发布的模块之外,以下模块和工具建立在Qt库之上,以提供额外的价值。它们有自己的发布时间表,并在商业许可下可用。

特性描述
Qt Automotive Suite用于开发车载信息娱乐(IVI)系统的软件组件和工具集合。建立在Qt设备创建提供和符合GENIVI汽车平台架构。
Qt for Automation自动化相关领域的库和工具,如KNX、OPC UA和MQTT。
Qt for Device Creation用于快速,简单和完全集成的嵌入式设备应用程序开发的工具。包含在大多数其他增值解决方案中。

技术预览模块

以下功能仍在开发中,但可以作为技术预览版使用。

特性描述
Qt for WebAssembly (Technology Preview)一个使用WebAssembly为web浏览器编译Qt应用程序的平台。

QT工具

Qt Tools可以在所有支持的开发平台上运行,方便了应用程序的开发和设计。

下表列出了Qt工具:

工具描述
Qt Designer类扩展Qt Designer。

补充

模块路径

观察安装路径,如下:

C:\Qt\Qt5.12.9\5.12.9\mingw73_64\include

共有75个文件夹,这里应该是QT5.12.9的全部模块。

这75个模块,包含了基本模块,附加模块、增值模块、技术预览模块、QT工具等。

输出如下表所示:

序号模块名称
1ActiveQt
2Qt3DAnimation
3Qt3DCore
4Qt3DExtras
5Qt3DInput
6Qt3DLogic
7Qt3DQuick
8Qt3DQuickAnimation
9Qt3DQuickExtras
10Qt3DQuickInput
11Qt3DQuickRender
12Qt3DQuickScene2D
13Qt3DRender
14QtAccessibilitySupport
15QtANGLE
16QtBluetooth
17QtCharts
18QtConcurrent
19QtCore
20QtDBus
21QtDesigner
22QtDesignerComponents
23QtDeviceDiscoverySupport
24QtEdidSupport
25QtEglSupport
26QtEventDispatcherSupport
27QtFbSupport
28QtFontDatabaseSupport
29QtGamepad
30QtGui
31QtHelp
32QtLocation
33QtMultimedia
34QtMultimediaQuick
35QtMultimediaWidgets
36QtNetwork
37QtNfc
38QtOpenGL
39QtOpenGLExtensions
40QtPacketProtocol
41QtPlatformCompositorSupport
42QtPlatformHeaders
43QtPositioning
44QtPositioningQuick
45QtPrintSupport
46QtQml
47QtQmlDebug
48QtQuick
49QtQuickControls2
50QtQuickParticles
51QtQuickShapes
52QtQuickTemplates2
53QtQuickTest
54QtQuickWidgets
55QtRemoteObjects
56QtRepParser
57QtScxml
58QtSensors
59QtSerialBus
60QtSerialPort
61QtSql
62QtSvg
63QtTest
64QtTextToSpeech
65QtThemeSupport
66QtUiPlugin
67QtUiTools
68QtVulkanSupport
69QtWebChannel
70QtWebSockets
71QtWidgets
72QtWindowsUIAutomationSupport
73QtWinExtras
74QtXml
75QtXmlPatterns

网络资料简要描述

序号名称描述
1Qt Core提供了基本的非GUI功能,包括字符串处理、文件和目录操作、事件处理、多线程支持、定时器等;
2Qt GUI用于创建丰富的图形用户界面,提供了窗口、布局、绘图、事件处理、输入处理等基本的图形界面功能;
3Qt Widgets提供了一套丰富的用户界面控件,如按钮、文本框、列表框、表格、菜单等,可以用于构建传统的桌面应用程序;
4Qt Quick提供了一种声明性的语言(QML)和相应的C++ API,用于创建现代化的用户界面,支持动画、效果、多点触摸等;
5Qt Quick Controls 2提供了基于Qt Quick的自定义控件;
6Qt SQL提供了数据库访问的API,支持主流的关系型数据库,如MySQL、SQLite、PostgreSQL等;
7Qt Multimedia用于处理多媒体内容,包括音频、视频的播放和录制,支持多种格式和编解码器;
8Qt WebEngine基于Chromium的Web引擎,用于在应用程序中嵌入Web内容,支持HTML5、CSS、JavaScript等;
9Qt WebSockets提供了实现WebSocket协议的类,Qt有个专门的模块包qtwebsockets,实现websockets功能;
10Qt XML提供了XML解析和生成的功能,用于处理和操作XML格式的数据;
11Qt Chart提供了图表显示能力,例如饼图、柱状图、线图等;
12Qt Sensors提供了访问移动设备传感器的能力;
13Qt SerialPort提供了串口通信的类;
14Qt Bluetooth提供了蓝牙通信的功能,可以在应用程序中实现蓝牙设备的连接和数据交互;
15Qt QMLQML(Qt Meta-Object Language)是一种基于声明性语法的编程语言,用于构建跨平台的用户界面。它是Qt框架的一部分,用于开发富有交互性和动态性的应用程序界面;
16Qt Concurrent提供了一套用于并行编程的工具和类。它简化了多线程和并行任务的处理,使开发者能够更轻松地编写并行代码;
17QT OpenGL提供了在应用程序中使用OpenGL和OpenGL ES进行3D图形渲染的功能。它允许开发者在Qt应用程序中创建和显示OpenGL场景,以及与图形进行交互;
18QT Test提供了单元测试框架和模拟鼠标和键盘事件的功能。它可以帮助开发者编写和执行单元测试,以确保代码的正确性和稳定性。此外,Qt Test还提供了与Visual Studio和KDevelop等集成开发环境的整合支持;
  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值