Qt6 Framework简介

Qt6 Framework简介

qt6

Qt6.5 LTS 于 2023年4月3日 正式发布 ,Qt 6.5 是 Qt 6 的第二个 LTS 版本 ,标志着 Qt6 正式进入可用时代。

使用Qt6的优点:

  • Qt渲染硬件接口:支持Direct 3D、Metal、Vulkan和OpenGL。只需编写一次渲染代码,即可部署在任何硬件上。
  • Qt Quick 3D:整合2D和3D内容到一个技术栈上。
  • Qt Quick Controls 2桌面样式:像素级完美、原生外观的控件无缝集成入操作系统。
  • HiDPI支持:独立缩放的支持,针对不同的显示器配置自动缩放UI。
  • QProperty系统:通过C++中的绑定支持提高代码速度,将QML最好用部分带入Qt,并与QObject无缝集成。
  • 并发API的改进:多核CPU、并行计算、保持用户界面流畅的同时在后台执行后端逻辑。自动根据硬件进行线程数量管理。
  • 网络功能的改进:创建您自己的通信后端,并将其集成到默认的Qt工作流中,自动添加与安全性相关的功能。
  • 3D微粒系统:在 Qt Quick 3D 或 Qt Design Studio 中自定义您的3D微粒。
  • Qt Creator中的Qt覆盖测试:分析C++和QML代码的测试和代码覆盖率。
  • 顶点动画:使用网格变形模拟软材料的变形或使用骨骼动画抽象表示模型的运动。
  • CMake支持:凭借行业标准构建系统、丰富的功能集以及庞大的生态体系构建Qt应用程序。
  • Qt for Microcontrollers (MCUs):轻量级渲染引擎可在具有2D硬件加速的低成本硬件上部署基于QML的UI,从而以最小的占用空间(> 80KB内存)实现最佳图形性能。
  • 更新到C++17, Qt6.4之后支持C++20

Qt6 Framework模块

下面我们一起看一下 Qt6 Framework都有哪些模块组成:

基础模块

基础模块作用
Qt Core提供其他模块使用的非图形化类.
Qt D-Bus封装了使用 D-Bus 协议进行进程间通信的类.
Qt GUI用于创建图形用户界面的基础类.
Qt Network让网络编程更易于移植的类.
Qt QML用于 QML 和 JavaScript 语言的类.
Qt Quick用于创建具有自定义用户界面的动态应用程序的声明性框架
Qt Quick Controls用于创建桌面、嵌入式和移动设备的高效用户界面的轻量级 QML的Types
Qt Quick Dialogs在 Qt Quick 应用程序中创建和交互系统对话框的Types
Qt Quick Layouts用于在用户界面中排列 Qt Quick 条目的布局
Qt Quick Test一个 QML 应用程序的单元测试框架,其测试用例使用JavaScript书写
Qt Test用于单元测试 Qt 应用程序和库的类.
Qt WidgetsQt GUI的扩展类 (使用c++).

插件模块

模块作用
Active Qt用于创建/显示微软ActiveX组件&&COM组件的类.
Qt 3D用于支持2D和3D渲染的近实时模拟系统功能.
Qt 5 Core Compatibility APIs用于兼容Qt5 Core的接口
Qt Bluetooth提供对蓝牙硬件的访问.
Qt ChartsUI组件,用于显示由静态或动态数据模型驱动的有一定视觉效果的表格
Qt Concurrent用于处理多线程程序,而不使用低级线程原语的类
Qt Data VisualizationUI组件,用于创建令人惊叹的3D数据可视化
Qt Help用于将文档集成到应用程序中的类
Qt Image Formats用于附加图像格式的插件:TIFF、MNG、TGA、WBMP等
Qt Lottie Animation渲染以JSON格式导出的图形和动画的QML API,其接口json由Adobe After Effects的Bodymovin插件导出.
Qt OpenGL使在Qt应用程序中使用OpenGL变得容易的C++类
Qt Multimedia一组丰富的QML类型和C++类,用于处理多媒体内容。还包括访问相机硬件的API.
Qt Network Authorization提供对基于OAuth的在线服务的授权支持.
Qt NFC提供对近场通信(NFC)硬件的访问.
Qt Positioning提供对位置、卫星信息和区域监视类的访问.
Qt Print Support使打印更加容易和可移植的类.
Qt Quick 3D提供一个基于Qt Quick创建3D内容或UI的高级API
Qt Quick Timeline启用基于关键帧的动画和参数化.
Qt Quick Widgets提供用于显示Qt Quick用户界面的C++窗口小部件类
Qt Remote Objects提供一种简单易用的机制,用于在进程或设备之间共享QObject的API(属性/信号/槽).
Qt SCXML提供从SCXML文件创建状态机并将其嵌入应用程序的类和工具
Qt Sensors提供对传感器硬件的访问
Qt Serial Bus提供对串行工业总线接口的访问。目前,该模块支持CAN总线和Modbus协议
Qt Serial Port提供与硬件和虚拟串行端口交互的类
Qt Shader ToolsQt跨平台着色器管道的工具,使得在Qt Quick和Qt生态系统中使用图形和计算着色器变得容易
Qt SQL使用SQL进行数据库集成的类。
Qt State Machine用于创建和执行状态图的类。
Qt SVG用于显示SVG文件内容的类。支持SVG 1.2 Tiny标准的一个子集。
Qt UI Tools在由Qt Designer创建的基于QWidget的窗体中动态加载的类,以便在运行时动态加载。
Qt Wayland Compositor提供一个框架,用于开发Wayland合成器。
Qt WebChannel提供对HTML客户端中的QObject或QML对象的访问,以便将Qt应用程序与HTML / JavaScript客户端无缝集成。
Qt WebEngine用于使用Chromium浏览器项目在应用程序中嵌入Web内容的类和函数。
Qt WebSockets提供符合RFC 6455的WebSocket通信。
Qt WebView通过使用本地于平台的API,而无需包含完整的Web浏览器堆栈,在QML应用程序中显示Web内容。
Qt Virtual Keyboard实现不同输入方法以及QML虚拟键盘的框架。
Qt XML提供XML的SAX和DOM标准的实现。

额外的Qt库

模块作用
Qt Quick TreeView提供一个控件来在Qt Quick中显示树形模型.
Qt Quick Calendar提供一组类型,用于在Qt Quick中构建日历.
Qt Quick MultiEffect提供一个Qt Quick组件,用于快速制作动画效果.
Qt Digital Advertising提供一个轻量级API,用于将广告集成到Qt Quick应用程序中.
Qt VNC Server提供一个API,用于创建一个简单的与VNC兼容的服务器.
Qt Application Manager一个无头应用程序管理器守护程序,专门设计用于具有复杂UI的嵌入式Linux系统.
Qt Interface Framework提供一个核心框架和工具,用于实现中间件API、后端和服务.

总结:

  • Qt6的开发支持使用最新的c++特性
  • Qt6将默认构建系统更改为了cmake
  • Qt6提供更全面的QML支持,以后使用QtQuick开发将会成为主流

参考:

https://doc.qt.io/qt.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值