摘录并翻译自Qt官网内容。快来看看新版本更新了些什么东西吧。
我们今天(2019-12-12)发布了Qt 5.14。该版本以及明年的Qt 5.15 LTS开始为通向Qt 6铺平道路。尽管我们正在努力通过标记不推荐使用的功能使将来尽可能平稳地移植到Qt 6,但我们还是引入了一些新功能。
Qt Quick
我们正在对图形堆栈进行一些较大的更改,以使得Qt在生产率,图形API支持和性能方面面临的挑战做好准备。
使用Qt 5.14,我们正在迈出使Qt独立于操作系统提供的3D图形API的第一步。到目前为止,虽然我们已将OpenGL用作基本图形API,但现在我们开始支持更广泛的图形API。Qt 5.14包括一个独立于图形API的场景图渲染器的第一预览(通过称为Qt渲染硬件接口的抽象层)作为选择功能,它使您可以在Vulkan,Metal和Direct3D之上运行Qt Quick应用程序。这将使您可以选择直接在操作系统提供的本机图形API之上运行Qt应用程序。这也将使升级到Qt 6更加容易,因为渲染硬件接口将是在Qt 6中渲染图形的标准方法。
可以想象,这个项目还有很多。Laszlo Agocs已针对这些更改撰写了一系列全面的博客文章。在这里,这里和这里查看它们。我还建议您观看Laszlo的Qt世界峰会演示文稿,单击右侧的图块即可找到该演示文稿。
Qt Quick还有两个激动人心的附加功能:一个是称为Qt Quick Timeline的新模型。此模块提供了一种通过时间轴和关键帧为属性设置动画的简便方法,Design Studio也使用此模块。另一个附加功能是鼠标滚轮的事件处理程序(恰当地称为WheelHandler)和来自触控板的模拟鼠标滚轮事件。
Qt Quick 3D
Qt Quick 3D是一个新模块,我们正在努力提供一个高级API,用于从Qt Quick为用户界面创建3D内容。简而言之。现在,您可以使用QML来定义3D场景,从而允许对UI的2D和3D部分使用基于QML的方法。这种新方法将使您可以使用一个运行时(Qt Quick),一个公共场景图和一个动画框架。您将能够在一个设计工具Qt Design Studio中以图形方式设计所有这些工具。这不仅应该使所有不同的功能更方便您访问。目的是使在Qt中定义3D内容和UI元素变得像在2D用户界面中一样容易。Qt Quick 3D在5.14中作为技术预览提供,我们希望在我们的Qt 5.15版本中使其成为Qt的完全受支持的一部分。
同样,还有很多要讲的。Andy Nichols最近在Qt Quick 3D上发表的博客文章,以及他在Qt世界峰会上的演讲"使用Qt Quick组合UI设计中的2D和3D元素"在该主题上更具亮点。
桌面端&移动端
高dpi支持得到了改进,包括对Windows上常用的非整数比例因子的支持。
我们增加了对图像的色彩空间支持,因此这些图像现在在经过校准的显示器上看起来可以100%正确。另一个不错的小的新功能是新的QColorConstants命名空间,该命名空间为编译时生成的QColor实例提供了许多预定义的颜色。
Qt Widgets和Qt Quick的文本编辑器现在支持读写Markdown格式。我们的国际化支持也得到了改进,其中包括Unicode规范版本12.1的更新和新的QCalendar API,它增加了对除Gregorian之外的其他日历系统的支持。
在Android上,我们增加了对多种ABI构建的支持,使您能够一次性编译针对多个目标架构的应用程序。我们还增加了对新AAB软件包格式的支持,该格式允许在Google Play商店中一次性部署涵盖所有目标体系结构的单个软件包。
Qt Creator 4.11
除了Qt 5.14,我们今天还发布Qt Creator 4.11。我想强调的是,Qt Creator现在具有针对MCU和WebAssembly的实验支持。此版本中对Qt Creator进行了许多激动人心的更改。你可以阅读Eike Ziller的综合博客文章中有关版本4.11的详细信息。
Qt Design Studio 1.4
我们还努力使Qt Design Studio与当前开发同步。具体来说,它现在还具有对上述Qt Quick 3D的实验支持,因此用户现在可以在Qt Design Studio 1.4中导入和使用3D内容。在3D场景中也完全支持状态和时间轴等功能。
有关更多信息和使用该工具的视频,请阅读Thomas Hartmann的博客文章。关于他的Qt世界峰会的演讲,我们还有一个VOD。Qt资源中心还有可以将Sketch或Photoshop UI设计变成可行的原型。
我们预计将很快正式发布Qt Design Studio 1.4。
Qt 3D的性能改进
KDAB在Qt 3D中针对5.14进行了许多优化,包括线程更改,从常见情况中删除帧缓冲区对象,通知系统更改等等。这些改进减少了渲染帧所涉及的CPU开销以及线程同步的数量,这可能导致某些系统浪费时间。可以在Sean Harmer的博客文章中找到有关此内容的更多信息。
其他相关
对于Qt Network,我们添加了HTTP/2配置API以及网络连接监视,这将使您获得更稳定的连接。同时,我们将Qt WebEngine更新为基于Chromium 77,并添加了用于控制QWebEnginePage生命周期的新API。