Qt 6.2 LTS 正式发布
Qt 6.2 LTS 现已发布,这是 Qt 6 的第一个长期支持版本。该版本专注于提高稳定性、性能,并且包含 Qt 5.15 中的所有常用功能以及为 Qt 6 添加的新功能。此外,同时发布的 Qt Design Studio 2.2 和即将发布的 Qt Creator 6 beta 都基于 Qt 6.2 LTS。
Qt 6 的架构变化
Qt 6 中进行了一些更广泛的架构更改,包括:
- Qt 6 现在依赖于 C++17 兼容的编译器,这有助于清理和改进代码库,并为用户提供更现代的 API
- 在处理大型数据集和性能方面改进了低级容器类
- 持续更新 QML 语言,使其更安全、更易于使用
- 引入 C++ 属性绑定
- Qt 6 在如何处理与底层操作系统 API 的集成方面采用了全新的图形架构。得益于新的渲染硬件接口 (RHI),Qt 6 现在默认使用每个系统上可用的最佳图形 API,显着提高了兼容性 —— 尤其是在桌面和移动操作系统(如 Windows 和 macOS 以及 iOS)上。
- 简化了将 3D 内容集成到基于 QML 的应用程序的过程,并使混合 2D 和 3D 的同时从系统中获得最大性能。
- 将构建系统从 qmake 切换到 cmake,这是当今基于 C++ 的应用程序的标准构建系统。不过在 Qt 6 的整个生命周期内仍支持 qmake。
添加模块
除了极少数例外,Qt 5.15 支持的所有模块现在也适用于 Qt 6.2,包括:
- Qt Bluetooth
- Qt Multimedia
- Qt NFC
- Qt Positioning
- Qt Quick Dialogs
- Qt RemoteObjects
- Qt Sensors
- Qt SerialBus
- Qt SerialPort
- Qt WebChannel
- Qt WebEngine
- Qt WebSockets
- Qt WebView
这些模块的 API 主要向后兼容 Qt 5,并且在移植到 Qt 6 时只需要对用户代码进行少量调整。
Qt 6.2 中的新功能
- Qt Quick 3D
- Qt Quick 3D 现在支持实例化渲染,允许使用不同的变换渲染大量相同的对象;添加了两个新 API,用于向场景添加 3D 粒子效果和从场景中的任意点进行基于光线的拾取
- 改进了输入处理,现在可以为嵌入在 3D 场景中的 2D 项目正确创建 Qt Quick 输入事件
- QML 工具
- Qt 6.2 现在有一个公共 CMake API,极大地简化了创建 QML 模块的过程
- QML linter (qmlint) 现在可以完全配置,无论是在命令行级别,还是通过配置文件,甚至是 QML 文件本身中的各个块。此外,它现在可以生成 JSON 输出以简化与其他工具或自动化系统的集成
- QML 格式化程序 (qmlformat) 现在使用 QML dom 库,改进了生成的输出
- Qt 多媒体
- Qt 多媒体现在支持一些从未在 Qt 5 中正确支持的高要求的功能,包括播放的字幕和语言选择支持以及媒体捕获的可配置设置
- 内部架构不再像 Qt 5 那样通过公共 API 公开。这有助于能够更快地修复错误,并使将来添加新功能变得更加容易
- Qt Creator 和 Qt Design Studio
- Qt Creator 5 包含 Qt 6.2 开发所需的所有功能
- Qt Design Studio 2.2 基于 Qt 6.2,极大地支持在一个图形工具中创建基于 Qt Quick 和 Qt Quick 的 3D 用户界面
新平台
Qt 6.2 大大扩展了支持平台的范围:
- 完全支持 Apple Silicon 上的 macOS。 Qt 现在可以轻松创建通用二进制文件并在 Intel 和 Apple Silicon 上为 macOS 进行开发,并提供了在 Apple 芯片上本地运行的完整支持
- 恢复了对 INTEGRITY 和 QNX 实时操作系统的支持。支持需要 C++17 工具链和最新版本的操作系统。 QNX 的最低要求是 7.1 版,而 INTEGRITY 是19.0.13 版。
- 针对 Qt 6.2 的 webOS 验证也已完成
- 有很多工作正在进行以支持 Windows 11,有望在 6.2 补丁级别版本中为其提供全面支持。Windows on ARM HW 也可作为 Qt 6.2 的技术预览提供
- 改进了对 WebAssembly 的支持,它在 Qt 6.2 中作为技术预览提供支持
- 扩展了对 Python 的支持
从 Qt 5 移植
在大多数情况下,从 Qt 5 移植到 Qt 6 很简单,一般步骤是:
- 检查是否使用了受支持的编译器和平台版本
- 在 Qt 6 模式下使用 Qt 5.15 编译(使用 QT_DISABLE_DEPRECATED_BEFORE 宏)
- 然后用 Qt 6.x 编译。如果需要,在移植阶段利用兼容性模块
- 开始使用 Qt 6 提供的所有新特性和功能。例如,如果应用程序使用 QML,请运行 qmlint 工具并修复它给出的警告
更多详细内容,请查看更新公告。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PostgreSQL 14 正式发布
PostgreSQL 14 现已发布。该版本继续在复杂数据类型上添加创新,包括更方便的 JSON 访问和对非连续数据范围的支持,并且增加了 PostgreSQL 在提高高性能和分布式数据工作负载方面的趋势,在连接并发性、高写入工作负载、查询并行性和逻辑复制方面取得了进步。 JSON 访问和multirange 数据类型 PostgreSQL 14 现在允许使用下标访问 JSON 数据,例如 SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']。这使 PostgreSQL 与从 JSON 数据检索信息时普遍认可的语法保持一致。并且新增的下标框架一般可以扩展到其他嵌套数据结构,本次发布的 hstore 数据类型也同样适用。 Range 类型现在通过引入"multirange" 数据类型支持非连续范围。一个 multirange 数据是不重叠范围的有序列表,它使开发人员可以编写更简单的查询来处理复杂的范围序列。 PostgreSQL 原生的范围类型(日期、时间、数字)支持多范围,其他数据类型可以...
- 下一篇
每日一博 | 常见开源分布式文件系统架构对比
什么是文件系统? 文件系统是计算机中一个非常重要的组件,为存储设备提供一致的访问和管理方式。在不同的操作系统中,文件系统会有一些差别,但也有一些共性几十年都没怎么变化: 数据是以文件的形式存在,提供 Open、Read、Write、Seek、Close 等API 进行访问; 文件以树形目录进行组织,提供原子的重命名(Rename)操作改变文件或者目录的位置。 文件系统提供的访问和管理方法支撑了绝大部分的计算机应用,Unix 的“万物皆文件”的理念更是凸显了它的重要地位。文件系统的复杂性使得它的可扩展性未能跟得上互联网的高速发展,极大简化了的对象存储及时填补了空缺得以快速发展起来。因为对象存储缺乏树状结构也不支持原子重命名操作,跟文件系统有很大的差别,本文暂不讨论。 单机文件系统的挑战 绝大多数文件系统都是单机的,在单机操作系统内为一个或者多个存储设备提供访问和管理。随着互联网的高速发展,单机文件系统面临很多的挑战: 共享:无法同时为分布在多个机器中的应用提供访问,于是有了 NFS 协议,可以将单机文件系统通过网络的方式同时提供给多个机器访问。 容量:无法提供足够空间来存储数据,数据只好...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境