Qt 6.3 发布了,与往常一样,该版本包含许多新功能以及大量 Bug 修复:自 Qt 6.2 发布以来修复了用户报告的总共 1750 个错误。下面摘录较为重要的新功能作介绍:
Qt Quick 编译器
新的 Qt 快速编译器是 Qt 6.3 中引入的重要新功能之一。 新的 QML 编译器由两个工具组成,QML 类型编译器 ( qmltc ) 和 QML 脚本编译器 ( qmlsc )。
- QML 类型编译器将 QML 类型编译为 C++,显着加快了 QML 类型的实例化。
- QML 脚本编译器在有意义的地方将函数和绑定编译到 C++,在 QML 中评估函数和绑定时能显著提高性能。
Qt 快速编译器旨在尽可能将 QML 中的函数和绑定编译成 C++ 代码。由于 QML 是一种动态类型的语言,如果不能在编译时确定所有类型,那编译行为也将变得无意义。在这种情况下,编译器会退回到将方法编译成类似于旧的 qmlcachegen 的字节码。
Qt 快速编译器对可以编译为本机代码的绑定和函数实现了显著的性能改进,绑定的评估速度比没有编译器的情况快 20% 到 35%。
有关该 Qt Quick Compiler 的更多细节,可在这篇 Qt 博客中细阅。
Qt Quick 和 Qt Quick 控件
Qt 6.3 添加了几个新的 Qt 快速控件,其中一些控件以前作为独立组件提供,比如控制树状视图的 TreeView
控制日历、日程表的 Calendar :
如今这些组件已被集成到 Qt 标准控件中。此外还添加了 FolderDialog 和 MessageDialog 两个新对话框。 Qt Quick 中文本组件(Text、TextEdit、TextArea、TextInput)的性能也得到改进,以前,将非常大的文档传递给文本控件,可能会占用大量内存并导致绘图性能下降。该问题已在 Qt 6.3 中修复,确保后端只呈现可见的部分文本。
Qt Quick 3D
Qt Quick 3D 也又一些新特性,比如对反射的新支持。该反射使用ReflectionProbe QML 元素实现,它的探针定位在场景中,捕捉周围环境并将其保存在立方体贴图中,然后其他元素可以使用该地图来显示反射。
Qt PDF
6.3 版本的 Qt PDF 也获得了一些性能改进,现在与 Qt 5.15 LTS 版本的性能一致。
另外,官方透露 Qt 6.4 版本计划为 PDF 模块整一些新功能,但未对新内容作任何介绍。
其他改进
此外,该版本还有大量细小变化,包含支持 QLocale 中的 ISO639-2 语言标签、在 QDate、QTime 和 QLocale 中将时间转换为字符串时的 AM/PM 说明符,更容易在 JSON 和 CBOR 之间转换、新的 QtFuture::whenAll() 和 whenAny() 方法,以及许多其他较小的改进。
对 Qt Widgets 进行了许多改进,重点是高分辨率显示、样式、样式表和项目视图的样式。
在构建系统方面, Qt 6.3 对 CMake 的支持有了很多改进,值得注意的是新函数 qt-generate-deploy-app-script(),它极大地简化了为不同平台上的应用程序生成部署脚本。
下一步计划
Qt 6.3 是朝着下一个版本 Qt 6.4 和 Qt 6 系列的下一个 LTS 版本 Qt 6.5 迈出的一大步。
我们对这些版本有一些很棒的计划,其中包括对 WebAssembly 的全面支持、QHttpServer、gRPC 支持、基于 FFmpeg 的 Qt Multimedia 跨平台后端、Qt Speech、Qt Location,以及 Windows 11 上更好的原生 Look&Feel 和 iOS 支持
可以在 Qt 6.3 新功能页面查看该版本所有新内容,在发行公告中进一步了解该版本的所有变更。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。