Qt 6.10新版本的消息最近通过一篇博客文章宣布,此次更新延续了 Qt 6 分支的成熟和扩展过程,重点关注其跨平台应用程序开发工具的稳定性、性能和现代化。
Qt 6.10 中最显著的创新之一是引入了 QML FlexboxLayout 类型,该工具的灵感来源于著名的 CSS Flexbox 模型,它简化了界面元素的对齐和动态适应。这一集成实现了流畅而现代的设计,将视觉灵活性与 Qt Quick 的传统强大功能相结合。
Qt Quick Scene Graph 和 Qt Quick Shapes 模块也得到了显著改进,新增了对由 SVG 图像和 Lottie 文件生成的动画矢量图形的支持。VectorImage 类型现在支持硬件缩放和加速,进一步巩固了 Qt 作为开发流畅、高质量视觉界面的最强大框架之一的地位。
面向 QML 开发人员的新控件、模型和功能
Qt Quick Controls 套件新增了 SearchField 元素,这是一个特殊的搜索字段,可通过弹出窗口实时显示筛选后的结果。该控件与各操作系统的原生样式保持一致,确保在所有平台上提供统一的用户体验。
Qt 6.10还引入了一些新类,简化了 C++ 数据模型与 QML 和 Qt Quick 的集成。其中, QRangeModel 尤为突出,它作为基于标准结构(例如 std::vector、std::tuple 或 std::array)的模型容器,允许直接创建交互式视图。此外,还新增了 TreeModel 类型,支持在 QML 文档中原生操作 C++ 分层结构,其语法类似于 JSON。
为了增强数据管理,Qt 引入了SortFilterProxyModel 类型,允许您直接在 QML 中对信息进行排序和筛选,而无需编写 C++ 代码。此外,新的 Synchronizer 类型确保了多个属性之间的一致性,保证在任何一个值被修改时,所有属性都保持同步。
3D、无障碍功能和移动体验的改进
在图形方面,Qt Quick 3D集成了高质量的光照贴图和可逆粒子特效,非常适合表现雨雪等自然现象。同时,Qt Graphs 引入了填充曲面功能,并提供了将 3D 图形的局部转换为 2D 图像以便打印或导出的功能。
Qt 6.10也进一步强化了其对无障碍功能的承诺,使高对比度样式与操作系统相匹配,并提高了与屏幕阅读器的兼容性。控件和组件也经过优化,以提供一致且易于使用的体验。
在移动端支持方面,Qt 6.10兼容 Android 15 和 16,并针对 16 KB 内存页的设备优化了性能。此外,Qt Jenny 1.0 也首次亮相,该工具简化了 Qt 应用程序与 Android Java API 的集成,能够自动从带注解的 Java 类生成 C++ API,并支持访问 BatteryManager 和 AudioManager 等原生服务。
Qt 6.10 还扩展了对 macOS 26 和 iOS 26 的支持,集成了 Liquid Glass 可视化语言和改进的渲染架构。在 Windows 系统上,Qt WebView 模块采用了基于 Microsoft Edge 的 WebView2 引擎,取代了对 Chromium 的依赖,从而提供了更高的兼容性和性能。
最后,Boot2Qt 堆栈已更新至 Yocto 5.2 平台,为开发基于 Qt 和 QML 的嵌入式和移动系统提供了一个改进的环境,并支持 Ezurio Nitrogen 等新板。
其他显著变化包括:
- 为 qmlformat 添加了分号自定义规则。现在您可以控制是否在 JS 语句末尾添加分号。
- 添加了新的 qmllint 警告,重点是提高与 Qt Creator 的兼容性,包括 Qt Design Studio 特定的限制检查、额外的 JavaScript 相关警告以及与 QML 枚举和导入相关的几个新警告。
- 光照贴图烘焙窗口已得到改进,可以显示进度条和剩余时间的估计值。
- 在某些场景中,RAM 和 VRAM 的使用量已经减少。