抽象 3D 图形 API
过去的一年中,开发团队一直在努力对图形技术栈的架构进行全面改造。此版本带来了研发一年多的 Qt 渲染硬件接口(RHI,Rendering Hardware Interface),它是 OpenGL、Metal 与 Direct 3D 等不同平台 3D API 的抽象层,可用于在 Direct 3D、Metal 和 Vulkan 以及 OpenGL 之上运行 Qt Quick 应用程序。
这是 Qt 5.15 中的技术预览支持,可以通过环境变量启用,而在 Qt 6 中,这一层将构成 Qt 架构的核心部分。
Qt Quick 3D
Qt Quick 简化了基于触摸的动画 2D 用户界面的创建,现在 Qt 5.15 带来了 Qt Quick 3D,它扩展了易于使用的理念,将 3D 内容集成到基于 Qt Quick 的应用程序中。借助 Qt Quick 3D,可以轻松地在 QML 中定义 3D 场景、定义网格、光源和材质,并将所有内容与 2D UI 无缝结合。
Qt Design Studio 1.5
Qt Quick 3D 添加了大量的选项,可用于制作非常酷的新应用,这些新应用在用户界面中同时包含 2D 和 3D 元素,此次带来的 Qt Design Studio 1.5,支持 Qt Quick 3D 的所有功能。
Qt QML
Qt QML 也带来了一些新功能。QML 现在具有组件“必须”属性的概念,这些是必须由组件用户设置的属性。现在可以在 QML 文件中内联指定组件,同时还添加了一种新的声明式注册类型的方式。
此外改进了 qmllint 工具,提供了更好的警告,以告诉开发者有关 QML 代码库中可能出现的问题。另一方面,还添加了一个新的 qmlformat 工具,它可以帮助根据 QML 编码样式指南格式化 QML 文件。同时确保 Qt 中用于 MCU 的 QML 和 Qt 5.15 兼容。
Qt Quick
Qt Quick 中出现了几个新功能,包括向 Image 元素添加了对色彩空间的支持,并为 Qt Quick Shapes 添加了新的 PathText 元素。指针处理程序有一个新的 cursorShape 属性,用于设置桌面系统上鼠标光标的形状,并且新的 HeaderView 项使得向 TableView 添加水平或垂直标题更加容易。
其它
此版本还针对桌面用户对客户端/自定义窗口装饰提供了更好的支持,开发者可以定义自己的窗口装饰,并将自定义内容放入窗口标题栏空间。
Qt Lottie 现已得到全面支持,该模块允许将 After Effects 动画集成到基于 Qt 的应用中。
Qt WebEngine 已从 Qt 5.14 中的 Chromium 77 更新为 Chromium 80,并具有该 Chromium 版本中的所有新功能。
Qt 3D 获得了更好的性能分析和调试支持以及一些较小的新功能。
Qt Multimedia 现在支持渲染到多个表面。
Qt GUI 中,图像缩放和转换例程现在在许多用例中都是多线程的。
Qt Network 现在支持 TLS 1.3 session tickets 和可配置的 timeouts。
Qt Core 中,QRunnable 和 QThreadPool 现在可以与 std::function 一起使用,并且新的 QFile::moveToTrash() 方法可以跨平台将项目移动到垃圾箱。
引外还添加了对 Android 上的原生文件对话框的支持。
另外需要注意,Qt 5.9 的支持将于 5 月 31 日停止。更详细的信息与下载地址可以查看发布公告:https://www.qt.io/blog/qt-5.15-released