Qt 6.2模块趋于完整,开始对商业用户提供长期支持服务

开发工具Qt发布了最新的6.2版本,这个版本在Qt 6的新架构上,提供了开发者熟悉的Qt 5.15模块,同时还加入了新的模块。Qt 6.2也将是Qt 6以来,第一个Qt公司对其商业用户提供的长期支持版本。

官方提到,考虑到Qt未来的发展,不得不在Qt 6进行架构更新,但也是这个原因,导致在Qt 6.0发布时,无法同时提供所有过去版本中的模块,尽管Qt 6.0整体来说比Qt 5.15更先进,但是确实少了Qt 5.15中的一些功能。在这个全新的Qt 6.2版本中,官方缩小了此差距,添加Qt 5.15中常用的功能,以及Qt 6的新功能。

Qt 6.2的主要工作,是重新加入在Qt 6.0发布时遗漏的模块,除了少数例外,现在Qt 5.15所支持的模块,几乎都在Qt 6.2中提供,现在Qt 6.2所支持的模块,包括Qt蓝牙、Qt多媒体、Qt NFC和Qt传感器等13个,这些模块的API向后兼容于Qt 5,官方表示,开发者只需要对程序代码进行少量调整,就能从Qt 5移植到Qt 6上。

除了从Qt 5移植来的模块之外,官方也在Qt 6.2加入一些新功能,在Qt新版本中,开发者可以用到一些新的3D功能。Qt Quick 3D支持实例渲染,能够高性能的渲染大量相同的对象,并且有一个新的API,可在场景中添加3D粒子特效。

3D场景中的输入处理也有改进,用户现在可以对嵌入在3D场景中的2D对象,正确创建Qt Quick输入事件。另外,Qt Quick 3D还添加供开发者在场景中任意点,进行基于射线方法选取的API。

Qt 6.2对QML(Qt Markup Language)工具进行一些更新,除了提供公开的CMake API,能够极大程度简化开发者创建QML模块的过程,官方也对QML Linter进行不少更新。QML linter是用来检查QML源码的最佳实践工具,有助于开发者改善潜在的程序代码写法与性能问题。

该工具现在已经完全可配置,无论是命令行、配置文件,还是QML文件中的模块块,另外,现在QML Linter还可以生成JSON输出,来简化和其他自动化系统的集成。

Qt多媒体模块在Qt 6中有巨大的变化,官方提到,这是他们在Qt 5中不满意的API之一,这次他们牺牲向后兼容性,进行了广泛的API和架构更改。虽然如此,要把Qt 5中的多媒体应用程序移植到Qt 6还是相对简单,Qt 6提供包括播放字幕、语言选择等功能。

Qt 6.2扩展了支持平台,现在已经可以完全支持在Apple Silicon上运行的macOS,并可以在英特尔或是Apple Silicon上,创建用于macOS的通用二进制文件,当然,也可以通过Rosetta模拟层,在Apple Silicon芯片上执行Qt应用程序。

官方也正在进行一些必要的更新,来全面支持已经正式发布的Windows 11,官方有望在6.2的小更新版本提供支持,另外,Qt 6.2也提供了Windows on ARM的技术预览,还有对WebAssembly的技术预览。