Qt 6.4 正式发布,添加 http 服务器、物理、光线等大量新模块

Qt 6.4 发布了。此版本包含 Qt HTTP Server 和 Qt Quick 3D Physics 等多个新功能,下面稍作介绍:

WebAssembly

在 Qt 6.4 中,对 WebAssembly 的支持已不再局限于此前的 “技术预览”阶段,现在支持使用 Qt for WebAssembly 来构建针对 Web 平台的应用程序。

新的模块

Qt Quick (TP) 的 iOS 样式

Qt 6.4 正式发布,添加 http 服务器、物理、光线等大量新模块  Qt 6.4 正式发布,添加 http 服务器、物理、光线等大量新模块

使用 Qt Quick Controls 开发的用户界面,自动使用 Windows 和 macOS 的原生样式支持 ,以及使用 Material 样式的 Android。

而 Qt 6.4 为在 iOS 上运行的 Qt Quick 应用程序添加了原生样式iOS 风格支持 iOS 平台上的深色和浅色模式,也可以在 macOS 上使用。

Qt HTTP 服务器 (TP)

新模块可以轻松地将 HTTP 服务器添加到任何 Qt 应用程序。服务器实现了对 HTTP 1.1 的部分支持,并通过传输层安全协议支持安全性。

文档中提及,它更多是面向嵌入式应用的本地/基于 LAN 的 Web 服务,不具备面向 Internet 的 Web 服务器的稳健性和安全性。(只能在受信任的网络中运行)

Qt Quick 3D 物理 (TP)

新的 Qt Quick 3D Physics 模块提供了一个高级物理模拟 API,它支持模拟交互式刚体,以及用于检测重叠的静态网格和非碰撞体。每个模拟物体都可以有自己的物理属性,如质量、密度和摩擦力。

将物理模拟集成到 Qt Quick 3D 中,轻松构建自然移动和交互的 3D 场景。之前需要手工制作这样的场景和动画,可能非常费力,但是使用 Qt Quick API 可以很容易地将物理内容添加到任何 3D 场景中。

该模块基于成熟、经过充分测试和高性能的 PhysX 引擎。

Qt TextToSpeech

Qt 应用程序默认支持辅助技术,例如屏幕阅读器,多应用程序可以使用额外的文本参与到语音合成。

新功能

Qt Quick 3D

使用预生成的光照贴图支持全局照明,允许使用不同的光源创建更逼真的 3D 场景,同时将运行时的性能成本保持在最低水平。此功能处于早期技术预览阶段。

Qt 6.4 正式发布,添加 http 服务器、物理、光线等大量新模块

此外,还为工具箱添加了线条粒子、对镜面光泽材质的支持、反射探针、天空盒、自定义材质和纹理的更多配置选项。

Qt 快速项目视图

为 Qt Quick 的 TableView 和 TreeView 类型添加了更多功能:

  • 用户现在可以使用键盘导航,并选择行和列。
  • 应用程序开发人员可以更好地控制单元格定位、动画以及展开和折叠树节点。

Qt Quick 中的动画更流畅

添加了一个新的 FrameAnimation 动画类型,它允许代码与动画帧同步运行。 

完全支持 RHI 的 QQuickWidget

使用 QQuickWidget 可以构建 Qt Quick 和 Qt Widget 元素共存的应用程序用户界面。但到目前为止,它需要使用 OpenGL。

 Qt 6.4 版本从头开始重新设计了该类,现在 QQuickWidget 可与所有受支持的图形 API 一起使用:Metal、Vulkan、Direct3D 11 以及 OpenGL。  

Qt多媒体

添加了一个基于 FFMPEG 的多媒体后端,它在所有平台上提供一致的音频和视频功能。对于视频播放,改进了色彩空间处理和 HDR 支持,应用程序可以将字幕注入 QVideoFrames。 

技术预览下的一项新功能是支持空间音频,可以创建 3D 声音场景,其中 Qt 根据房间的大小、墙壁和地板的材料以及听者的位置模拟具有声音特征的虚拟房间,此功能处于技术预览阶段。

Qt Widgets 中有用的新特性

 Qt 6.4 添加了 API 来控制表单布局中行的可见性,以及跳转到向导中的任何页面

QKeySequenceEdit 中新增了一个可选的清除按钮,对具有键盘快捷键的复杂应用程序的构建很有帮助。    

QML

  • 对值类型的更好支持,将结构化数据从 C++ 公开到 QML 变得更容易。值类型和值类型列表可用于属性,而无需 QObject 包装器的开销。
  • 在工具方面, QML 语言服务器在支持 QML 的 IDE 中提供实时反馈。
  • QML linter 现在可以识别 Qt Quick 和 Qt Quick Controls 的低效或不当使用,并在构建时生成警告。
  • 默认启用 QML 类型编译器,可以将更多 QML 编译成 C++。

 

下一个版本 Qt 6.5 将为商业用户提供长期支持,此外,正在将 Qt Location 移植到 Qt 6、改进对 Windows 11 和 Linux 桌面的主题支持,并且通过编译器工具和更好的值类型支持来提高 QML 性能。有关 Qt 6.5 的更多详细信息,请查看“Qt 未来路线图”研讨会。 

可以在发行说明找到 Qt 源代码的所有贡献者的完整列表

展开阅读全文
发表评论

相关文章