Qt 6.2 长周期版正式发布_qt6长期支持版本有哪些-程序员宅基地

技术标签: qt  Qt 6  

本文翻译自Qt 6.2 LTS Released
原文作者:Qt 公司首席技术官及Qt开源项目首席维护者Lars Knoll
校审:Sam Wong

我很高兴地宣布 Qt 6.2 的正式发布。 它是自我们开始迈向全新Qt主要版本以来,一直在努力的版本。Qt 6.2得益于我们为Qt 6所做的所有架构升级,并包含了Qt 5.15中几乎所有深受喜爱的附加模块。

Qt 6.2 也是 Qt 公司为商业版客户提供的Qt 6系列中第一个长周期支持版。

在我们升级 到Qt 6的计划中,我们首先关注 Qt 的核心,为了能在未来几年保持竞争力而做了架构级别的改变。但这一投入也意味着我们必须在发布 Qt 6.0 时对所支持的附加模块做出妥协。因此,尽管 Qt 6.0 比 Qt 5.15 更好、更先进,但它确实缺乏 Qt 5.15 提供的某些功能。在 Qt 6.2 中,我们缩小了差距,并包含了 Qt 5.15 中的所有常用功能以及为 Qt 6 添加的新功能。

随着 Qt 6.2 的发布,几乎所有Qt用户都应能将其代码从 Qt 5 迁移到 Qt 6。我们已将自己的工具实现了迁移。也就是说,Qt Design Studio 2.2 和即将发布的 Qt Creator 6 beta 版都基于 Qt 6.2 长周期支持版。

除了增加缺失的功能外,Qt 6.2 还专注于提高稳定性、性能和开发者的生活质量。

在详细了解 6.2 新功能之前,让我们回顾一下 Qt 6 的主要变化。


Qt 6 中架构级别的更改

我们对 Qt 6进行了一些更广泛的架构更改,并以此构建 Qt 6.2 以及未来版本。这些变化包括

  • 利用 C++17 开发Qt 6 时,我们希望建立在现代 C++ 标准之上。C++17 是当时的最新版本,而 Qt 6 现在依赖于 C++17 兼容编译器。这使得我们可以清理和改进我们的代码库,并能为用户提供更现代的 API。
  • 在处理大型数据集和性能方面改进了低级容器类
  • 下一代 QML 我们已开始更努力地更新 QML 语言,使其更安全、更易用。 Qt 6.0 – 6.2奠定了基础,但这种努力将在整个 Qt 6 系列中继续。
  • 将属性绑定引入 C++ 属性绑定是使QML 取得成功的概念之一。在 Qt 6 中,我们已经在 C++ 中实现了这个概念。
  • 新的图形架构 Qt 6 在如何处理与底层操作系统的 API集成方面采用了全新的架构。由于新的渲染硬件接口(RHI),Qt 6现在默认使用每个系统上可用的最佳图形API,显著提高了兼容性,尤其是在桌面和移动操作系统(如 Windows 和 macOS 以及 iOS)上。
  • Qt Quick统一的 2D 和 3D Qt Quick 一直是构建动画和流畅 2D 用户界面的框架。我们在Qt 6中还简化了将 3D 内容集成到基于 QML 的应用程序流程。深度集成使得在任何级别混合 2D 和 3D 内容都变得很容易,同时获得系统的最大性能。
  • CMake 构建系统 从Qt 6开始,我们将构建系统从 qmake 改为 cmake,这是当今基于C++应用程序的标准构建系统。虽然我们仍将在Qt 6整个生命周期内支持 qmake,但初步用户报告表明切换到 cmake 后有显着改进。

尽管有这些变化,将您现有的代码库移植到 Qt 6 应该很简单。您将在本文中读到更多相关信息。

现在让我们仔细看看 Qt 6.2 中的新功能。


添加的模块

开发 Qt 6.2 的主要工作之一是重新添加我们在 Qt 6.0 中遗漏的所有模块和功能。 除了极少数例外,Qt 5.15 支持的所有模块现在也在Qt 6.2中得到支持。

在 Qt 6.2 中,我们添加了对以下模块的支持(在 Qt 6.1 中已有的模块之上):

这些模块的 API 主要向后兼容 Qt 5,并且在移植到 Qt 6 时只需要对用户代码进行微调。

Qt 6.2 支持的完整模块列表可以在我们的在线文档中找到。

Qt 6.2 中的新功能

除了从 Qt 5 带来的许多模块,我们还在 6.2 中引入大量的新特性和功能。 我们来看一下。

Qt Quick 3D

Qt Quick 3D得到了一些很酷的新功能,现在支持实例化渲染,允许您用不同变换渲染大量相同的对象。 我们还添加了一个用于向场景添加 3D 微粒效果的 API。

Qt Quick 3D Particles Testbed

输入处理已得到改进,我们现在可以为嵌入在 3D 场景中的 2D 项目正确创建 Qt Quick 输入事件。我们还添加了一个从场景任意点进行基于光线的拾取的API。

QML工具

Qt 6.2 对 QML 工具进行了较大改进。我们现在有一个公共CMake API,它极大地简化了创建您自己 QML 模块的过程。

QML linter (qmlint) 是一种工具,用于检查 QML 源代码的最佳实践、潜在的编码和性能问题,并帮助编写更易于维护的 QML。该工具经历了巨变,现在可以通过配置文件在命令行级别进行完全配置,甚至可以对QML文件本身中的单个块进行配置。此外,它现在可以生成 JSON 输出以简化与其他工具或自动化系统的集成。

QML 格式化程序 (qmlformat) 现在使用 QML dom 库,大大改进了生成的输出。

阅读此博文了解更多详细信息。

Qt Multimedia

Qt Multimedia 在 Qt 6 中经历了巨大变化。它是我们在 Qt 5 生命周期中不满意的 API 之一。因此,我们退后一步,对模块做了一些更广泛的API和架构更改,而没太考虑向后兼容性。
尽管如此,从Qt 5 中的 Qt Multimedia移植到 Qt 6 应该相对简单。

Demo | Qt 6中的视频管线API

Qt 6 中的 Qt Multimedia确实支持一些我们从未在Qt 5中正确支持且被多次要求增加的功能,包括支持字幕、回放时的语言选择以及可配置的媒体捕获设置。

内部架构已经过清理,不再像 Qt 5那样通过公共 API 公开。这使我们能够更快地修复bug,并且使添加新功能变得更加容易。您可以在有关 Qt 6 中的 Qt Multimedia模块一文中找到更多详细信息。

然而,由于这些巨大的变化,该模块在实现中可能存在相当多的bugs。但是,我们相信多媒体是必不可少的一项功能,将在 Qt 6.2 中完全支持该模块。

因此,我们将在补丁级版本的常规提交策略上有所偏离,如果需要修复较大的问题,可能会添加一些较小的 API。

此外,在即将发布的补丁级版本中,我们将尽快努力修复任何报告的错误。

较小的一些改进

几乎所有其他模块都有许多较小的 API 添加和改进。

我们移植了许多 API来利用新的属性系统,以便您使用 C++中的属性绑定。这项工作尚未完成,我们将在未来的版本中继续。

我们还修复了许多 API 缺点和不同地方缺失的功能。仅举几个例子:

  • Qt Charts 增加了提高便利性并方便定制的新API。
  • 为 QImage 添加了浮点图像格式。
  • QByteArray::number() 现在可以正确处理不等于 10基数的负值。
  • QLockFile 现在具有采用 std::chrono 的重载
  • Qt Network 支持多个可以在运行时共存的 SSL 后端。

详细信息,请查看我们 wiki 中的新功能页面

Qt Creator 和 Qt Design Studio

我们为Qt Creator 和 Qt Design Studio 也做了大量工作,以确保它们为 Qt 6.2 提供一流的支持。 Qt Creator 5 包含用Qt 6.2 开发所需的一切。


今天我们还发布了全新版本的 Qt Design Studio。Qt Design Studio 2.2 基于 Qt 6.2,为在一个图形工具中创建基于Qt Quick和Qt Quick 3D的用户界面带来了极大支持。您可以在目标硬件上轻松测试这些功能,无论是台式机、移动设备还是嵌入式设备。详细信息,请查看有关 Qt Design Studio 2.2 的博文。


全新平台

我们在Qt 6.2上做了很多工作来改进对当前支持平台的支持,包括台式机和移动端,例如,改进我们对 HighDPI 渲染的支持和在 iOS 上添加 NFC 后端。

除此以外,Qt 6.2 大幅扩展了支持平台的范围:

Qt 6.2 完全支持 Apple Silicon 上的 macOS。 Qt 现在可以轻松创建通用二进制文件,并在 Intel 和 Apple Silicon 上为 macOS 进行开发。当然,该版本也在我们的 CI 系统中进行了全面测试。Qt 应用程序一贯能在Apple芯片的 Rosetta 层上运行,但 Qt 6.2 现在全面支持在 Apple原生芯片上运行。

Qt 6.2 还恢复了对 INTEGRITY 和 QNX 实时操作系统的支持。支持需要C++17工具链和最新版本的操作系统。QNX 的最低要求是 7.1 版,在 INTEGRITY 上,我们支持 19.0.13 版。

针对 Qt 6.2 的 webOS 验证也已完成,以进一步加强 Qt 对 webOS 的承诺。

支持Windows 11的工作正在进行中,我们希望能够在6.2补丁级版本中为其提供全面支持。Qt 6.2还提供了对ARM硬件上的Windows的技术预览版支持。


最后,我们改进了对WebAssembly 的支持,在 Qt 6.2 中以技术预览版发布。

Qt for Python 今天也发布了新版本,大家可以试一试。未来几天我们将发布单独的博文,重点介绍最新 Qt 6.2 更改中采用的所有功能。敬请关注!


从 Qt 5 移植

在开发 Qt 6 时,与 Qt 5 的源代码兼容性一直是我们工作的关键部分。有时我们不得不在某种程度上打破这种兼容性,以进行必要的架构更改,或为我们带来巨大的性能优势。

在大多数情况下,从 Qt 5 移植到 Qt 6 应该很简单。 Qt 6 移植指南列举了所需的步骤,并提供了更多信息。您还可以从我们的合作伙伴或我们的顾问那里获得移植帮助。

移植到 Qt 6 的典型步骤是:

•    检查您是否使用了受支持的编译器和平台版本
•    首先在 Qt 6 模式下使用 Qt 5.15 编译(使用 QT_DISABLE_DEPRECATED_BEFORE 宏)
•    然后用 Qt 6.x 编译 —— 如果需要,在移植阶段利用兼容性模块


有了这些,您就可以在 Qt 6 上运行应用程序,并可以开始使用它提供的所有新特性和功能。例如,如果您的应用程序使用 QML,请运行 qmlint 工具,并修复它给出的警告。


这里,我还想介绍一本有关 QML 和 Qt 6 的电子书。这是QML入门或了解更多信息的绝佳资源。我们要感谢主要作者, Johan Thelin、Jürgen Ryanell 和 Cyril Lorquet,以及参与其中的社区成员。该项目由 Qt 公司赞助,这是一个持续更新的动态文档。欢迎大家给与项目好评和反馈。

今天就试试吧

在向您提供下载 Qt 6.2链接前,我想向您推荐阅读Qt 6.2 的发行说明,其中包含众多自 Qt 6.1发布以来我们所做的更改详细信息,包括已修复bugs的完整列表。

它还包含了所有为 Qt 6.2 贡献补丁的人的完整列表。列表太长,无法在此处重现,但我要感谢所有帮助和实现 Qt 6.2的人们。

如果您已安装了 Qt,那么获得 Qt 6.2 的最简单方法是通过在线安装程序。如果没有,您可以从您的 Qt 帐户或通过我们的网页下载。

希望您喜欢 Qt 6.2。让我们知道使用它的进展,并报告您可能发现的任何bug,以便在即将发布的补丁版本中使 Qt 6.2 变得更好。


请继续关注Qt 6

最后但同样重要的是,这里有一个关于在不久的将来还有哪些的快速更新。一个跟踪并了解正在发生的事情的好地方是Qt 6独立页面

Qt 全球峰会2021将近,我想邀请您的加入。 您将从我们团队、我们的客户和 Qt 生态系统成员那里面对面交流,从Qt 的最新发展中获得灵感。您可以在点击这里报名Qt World Summit 2021中国站

谢谢大家, Qt 公司希望您会喜欢Qt 6.2长周期支持版!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Qt_China/article/details/120683547

智能推荐

【基础算法】反转链表的三种方法_链表反转-程序员宅基地

文章浏览阅读3.3k次,点赞13次,收藏20次。【基础算法】反转链表的三种方法_链表反转

使用遗传算法优化的BP神经网络实现自变量降维_bp神经网络优化-程序员宅基地

文章浏览阅读317次。本次利用遗传算法筛选出最具有代表的自变量,再利用BP神经网络进行预测。_bp神经网络优化

第十四届蓝桥杯青少组选拔赛Python真题 (2022年11月27日),包含答案_python 蓝桥杯真题-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏6次。初始客户编号为 1、2、3 的客户分别在 1、2、3 窗口同时办理业务;窗口 3 用时 2 分钟办理完 3 号客户的业务,变为空闲状态,并按顺序呼叫 4 号客户,4 号客户用时 4 分钟窗口 1 用时 3 分钟办理完 1 号客户的业务,变为空闲状态,并按顺序呼叫 5 号客户,5 号客户用时 7 分钟。例如: N=3.M=7、从编号3 的位置到综号 7 的位置共有5 条路线,分别为: (3->5->7),(3-5->6->7,(3->4-5->7(3->4->5->6>7) ,(3->4>6->7)。_python 蓝桥杯真题

基于RK3399 Android11适配OV13850 MIPI摄像头_camera_etc.mk-程序员宅基地

文章浏览阅读1.4k次,点赞22次,收藏21次。基于RK3399 Android11 适配MIPI摄像头 OV13850_camera_etc.mk

2020公文格式模板及范文_公文写作格式+请示、报告、会议纪要基本模板-程序员宅基地

文章浏览阅读6.4k次。一、排版1.WORD文档页面设置,页边距:上3.7cm,下3.5cm,左2.8cm,右2.6cm。具体操作过程中,根据版式要求,也可适当调整。2.字体要求:文章标题为二号方正小标宋、居中,标题内容多,可分多行,排成梯形或菱形,标题内容换行时注意词意完整,标题行距选择磅值约30-34之间,可根据版面自行设定。正文为三号仿宋,行距选择1.5倍行距,也可根据页面做适当调整。3.正文结束空2-3..._请示的页边距

Pandas-处理文本字符串(拼接)_pandas字符串拼接-程序员宅基地

文章浏览阅读6.8k次。Pandas提供了不同的方法将序列或索引与他们自己或者其他的对象进行拼接,所有的方法都是基于各自的cat()方法1.将单个序列拼接为一个完整字符串输出:2. 如果没有额外声明,sep即分隔符默认为空字串,即sep='':输出:3.默认情况下,缺失值会被忽略。使用na_rep参数,可以对缺失值进行赋值:输出:4.拼接序列和其他类列表型对象为新的序列cat()的第一个参数为类列表对象,但必须要确保长度与序列或索引相同.输出:..._pandas字符串拼接

随便推点

LLaMA 2 - 最全资源汇总,你想要的都有_llama-2-7b-chat-gguf 百度网盘-程序员宅基地

文章浏览阅读553次。LLaMA 2 是 Meta 开发的大型语言模型,是 LLaMA 1 的后继者。LLaMA 2 可通过 AWS、Hugging Face 等提供商免费用于研究和商业用途。LLaMA 2 预训练模型接受了 2 万亿个标记的训练,上下文长度是 LLaMA 1 的两倍。其微调模型已经接受了超过 100 万个人工注释的训练。本文包含 LLama 2 所有相关资源,可帮助您快速入门。它包括以下链接:LLaMA 2 是什么?Lllama 2在线体验Llama2 背后的研究Llama 2 基准测试有多好。_llama-2-7b-chat-gguf 百度网盘

《C语言程序设计》谭浩强-学习笔记以及课后习题答案(考前复习/考研/专升本)_谭浩强课后习题csdn-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏26次。《C语言程序设计》谭浩强-学习笔记-课后习题答案(考前复习/考研/专升本/)_谭浩强课后习题csdn

Knowledge Distillation by On-the-Fly Native Ensemble论文解读_on the fly 蒸馏-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏2次。1. 网络结构: Gate为全连接网络,用来学习哪个网络更重要。目前利用全连接网络选择网络部件重要性的方法很流行。“三个臭皮匠顶个诸葛亮?”,感觉很像bagging方法。2. 损失函数: 训练时softmax都有温度T=3蒸馏,测试时就恢复T=1。 最终的Loss 第一项代表各个分支的损失,第二项代表最后Teacher的损失,第三项代表各..._on the fly 蒸馏

Mac 屏幕录制 权限 没有可勾选或添加的App选项 产生原因和解决办法_mac屏幕录制没有微信选项-程序员宅基地

文章浏览阅读4.1w次,点赞12次,收藏39次。遇到问题:安装软件需要获取截屏和屏幕录制的功能权限,但是发现打开系统设置->安全性与隐私-屏幕录制,右边竟然没有可勾选或可添加的App选项产生原因:经过网络搜索关键字,发现是因为系统升级到10.5,MacCataLina过程中位于/Library/Application Support/com.apple.TCC目录下的TCC.db文件损坏了。期间遇到的错误提示(Error: table access has 7 columns but 12 values were supplied)..._mac屏幕录制没有微信选项

python一些练手小项目_pycharm 练手程序-程序员宅基地

文章浏览阅读260次。python一些练手小项目参考Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统Pycharm+Django之使用模型django基础之数据库操作使用pycharm调试django项目_pycharm 练手程序

汇编语言 第三版 王爽 实验四_汇编语言第三版实验4第三题-程序员宅基地

文章浏览阅读8.2k次,点赞4次,收藏17次。百度文库答案有误。特写此博客。_汇编语言第三版实验4第三题

推荐文章

热门文章

相关标签