QT 的模块

1 篇文章 0 订阅

说起QT,给我的感觉就是一个C++的编程模式,不会QT就不好说C++道上浪迹过的。有很多博客对QT进行了系统性的梳理,再写一个感觉意义不大,我只是想看看官网上的资料,做一个最新的了解。

QT目前不仅仅支持C++接口,还有QMT(多范式语言)QT for Python。Python版本也非常好用,但最经典的还是C++版本,C++版本的文档是非常全的,功能也是最新的。所以我这里主要看c++版本。

QT是一套高效完善的界面编程API,虽然是一句话,但这本身也是一件非常了不起的事情。
为了实现这套完善的体系,QT又分了很多模块,我们先来看看这些模块的简单说明。

核心模块

模块说明
Qt Core核心类,不包含图像相关的封装
Qt GUI主要的图像编程API接口模块,包含OpenGL
Qt Multimedia一些多媒体功能,包含音频,视频,广播和照相机的处理
Qt Multimedia Widgets多媒体组件模块
Qt Network轻便易用的网络模块
Qt QML给QML和JavaScript相关的处理模块
Qt Quick提供用户自定义的动态框架
Qt Quick Controls轻量化QML类型,位桌面系统,嵌入式和移动设备提供高性能的用户界面
Qt Quick Dialogs轻量化的对话框交互模块
Qt Quick LayoutsQT Quick 2的布局样式的用户界面模块
Qt Quick TestQt提供的轻量化测试模块
Qt SQLSQL 集成模块
Qt Test单元测试模块, 代码兼容
Qt WidgetsQT用户界面的一些扩展组件

如果你是使用的 qmake 来编译你的项目,Qt Core 和 Qt GUI 模块是默认添加好的, 如果只想要添加 Qt Core, 需要添加下面这一行到你的 .pro 文件中:

QT -= gui

在 windows 上,如果你没有用qmake来进行编译,比如你用了CMAKE,你也需要配置对应的链接选项。

附加模块

附加模块是为了一些特定的场合制作的,需要注意的是可能某些编译平台并不支持。

模块开发平台目标平台说明
Active QtWindowsWindows使用ActiveX和COM的应用程序的类
Qt 3DAllAll2维和3维的实时渲染
Qt Android ExtrasAllAndroidAndroid 的一些扩展
Qt BluetoothAllAndroid, iOS, Linux, macOS, and UWP (*)蓝牙支持
Qt ConcurrentAllAll (*)对底层线程的封装
Qt D-BusAllAll (*)通过D-Bus协议进行进程间通信
Qt GamepadAllAndroid, iOS, macOS, tvOS (包括远程tvOS), Linux, Windows, and QNX游戏硬件的支持
Qt Graphical EffectsAllAllQt Quick 2的图像模块
Qt HelpAllAll (*)类似于 QT Assistant 的一个集成文档
Qt Image FormatsAllAll对不常见的图片插件 TIFF, MNG, TGA, WBMP.
Qt LocationAllAll使用QML再程序中 显示图片,导航,放置内容
Qt Mac ExtrasAllmacOS为 macOS 提供的扩展
Qt NFCAllAndroid and Linux (*)提供 NFC 硬件支持
Qt OpenGL ( 不推荐)AllAll (*)OpenGL 支持模块。推荐使用QOpenGL代替
Qt Platform HeadersQt for Windows, Linux, macOSQt for Windows, Linux, macOS, Android (*)提供封装平台特定信息的类,这些类与平台插件的给定运行时配置相关联。
Qt PositioningAllAndroid, iOS, macOS, Linux, UWP (*).定位,卫星和区域监控
Qt Print SupportAllAll (*)打印硬件
Qt PurchasingAllAndroid, iOS, and macOS.提供终端购买接口
Qt Quick Controls 1 ( 不推荐)AllAll (*)基于可重用的Qt Quick的UI控件创建经典的桌面样式用户界面。不推荐使用,因为Qt Quick Controls 2更易于使用。
Qt Quick ExtrasAllAll (*)基于 Qt Quick 提供的一组可重用的控件集合
Qt Quick TimelineAllAll (*)启用基于关键帧的动画和参数化
Qt Quick WidgetsAllAll (*)提供一些基于Qt Quick用户界面的组件
Qt Remote ObjectsAllAll提供一个简易的进程或者设备之间的共享接口
Qt Script ( 不推荐)AllAllQt 的脚本支持, 推荐使用 Qt QML 模块中的 QJS* 模块替代
Qt SCXMLAllAll可以通过 SCXML 文件的配置创建状态机并嵌入到程序中
Qt Script Tools ( 不推荐)AllAll (*)基于 Qt Script 的扩展组件
Qt SensorsAllAndroid, Qt for iOS, UWP, Mer, and QNX.传感器硬件和运动手势识别
Qt Serial BusAllWindows, Linux, Boot to Qt targets, and QNX.对串行工业总线接口的访问。当前,该模块支持CAN总线和Modbus协议
Qt Serial PortAllWindows, Linux, macOS, and QNX.访问硬件和虚拟串行端口
Qt SpeechAllAllexcept QNX.
Qt SVGAllAllSVG文件支持,目前集成的SVG1.2本版的协议
Qt UI ToolsAllAll (*)处理运行的时候根据Qt Designer 产生的表单动态创建的组件
Qt WebChannelAllAll将HTML转换为QObject或者QML无缝嵌入到HTML/JavaScript客户端
Qt WebEngineAllWindows, Linux, and macOS.通过chromium浏览器项目嵌入Web程序
Qt WebSocketsAllAll提供符合RFC 6455的WebSocket通信
Qt WebViewAllPlatforms with a native web engine.在QML程序中显示Web内容,而无需完整的Web浏览器
Qt Windows ExtrasAllWindows平台特定的API
Qt X11 ExtrasAllLinux/X11X11平台特定的API
Qt XMLAllAll (*)通过 C++ 实现的 SAX 和 DOM
Qt XML Patterns (不推荐)AllAll支持XPath,XQuery,XSLT和XML模式验证
Qt Wayland CompositorLinuxLinux and Boot to Qt targets.开发Wayland合成器的框架

一些再商业许可或者再GNU General Public License v3许可下的附加模块

模块开发平台目标平台说明
Qt ChartsAllAllUI组件,包含显示视觉上新宜的图表,该图表由静态或动态数据模型驱动。
Qt Data VisualizationAllAll用于创建惊人的3D数据可视化的组件
Qt Network AuthorizationAllAll为基于OAuth的在线服务授权提供支持
Qt Virtual KeyboardAllLinux,Windows桌面系统和Boot to Qt终端用于实现不同输入法的框架以及QML虚拟键盘。支持本地化的键盘布局和自定义视觉主题。
Qt for WebAssemblyAll具有WebAssembly支持的Web浏览器使用WebAssembly为Web浏览器编译Qt应用程序的平台目标。
Qt Quick WebGLAll启用WebGL的网络浏览器提供一个平台插件,该插件允许使用WebGL™通过网络流式传输Qt Quick用户界面。

高级模块

模块说明
Qt Automotive Suite用于开发车载信息娱乐(IVI)系统的软件组件和工具的集合。建立在Qt for Device Creation产品之上,并符合GENIVI汽车平台架构
Qt for Automation用于自动化相关领域的库和工具,例如KNX,OPC UA和MQTT
Qt for Device Creation用于快速,轻松且完全集成的嵌入式设备应用程序开发的工具。包含在大多数其他增值解决方案中

技术预览功能

模块说明
Qt Lottie AnimationQML API,用于以JSON格式呈现图形和动画,由Bodymovin插件针对Adobe®After Effects导出
Qt Quick 3DQt Quick 3D提供了用于基于Qt Quick创建3D内容或UI的高级API

翻译:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值