Skip to main content

正式发布Qt 5.11

Comments

本文翻译自:Qt 5.11 released

原文作者: Qt公司CTO兼Qt开源项目维护官Lars Knoll

翻译校审:Richard Lin、Hongfei Zhang、Haipeng Yu

 

5月22日,我们提发布了Qt 5.11。与以往一样,Qt 5.11增加了许多新功能,并修复了许多现有功能的bug。一起来看看这些很酷的新功能吧!

Qt Core 和Qt Network

我们对Qt Core做了许多细节优化。例如,一些工具类新增了引用传值的重载方法;补全了一些函数以保证API与STL的兼容性。我们的Item Model也增加了许多新特性。 Qt Network现在在IOS 上支持ALPN和HTTP / 2协议。在QNetworkRequest中附加一个Http2DirectAttribute,就可直接创建一个HTTP/2连接,而无需初始的协议协商。 Qt Core中的较大更新是对Unicode的支持。QChar、QString、QTextBoundaryFinder和双向文本算法现在完全兼容Unicode 10。

Qt GUI和Qt Widgets

支持Windows上的辅助功能是Qt 5.11的重点改进之一,我们基于Microsoft UI Automation重写了原先在Microsoft Active Accessibility 框架上的代码,从而增强了对Windows辅助功能的支持。 另一项主要工作是改进Windows上窗体样式,以更好支持高DPI显示。Linux上的打印对话框也被改头换面,对所有通用Unix打印系统(CUPS)选项提供了更好的支持。 我们修复了Qt Widgets的多个bug,并在QLineEdit中支持用鼠标快速选择文本。 以上是我们为所有台式机用户所做的更新。

Qt QML

我们为QML引擎做了许多优化,重写了QML的编译管线。新管线大幅提升了性能和可维护性。 新管线总是将QML编译为平台独立的字节码。引擎将这个字节码缓存进.qmlc文件。用户还可以利用qmlcompiler功能提前生成字节码。 新的字节码解释器在性能上有大幅提升。在我们的大多数测试用例中,相比Qt5.10的JIT技术,新的解释器已经能达到其80%到90%的性能。在解释器上层,我们还增加了新的热点JIT。因此在各个方面都可以击败我们旧版JIT技术。

Qt Quick 和 Qt Quick Controls

在Qt Quick方面,我们在Image元素中增加了对加载压缩纹理的支持,并提供.ktx 和.pkm两种容器文件格式。使用这种格式存储的图像文件可以直接被GPU处理。从而帮助减少应用程序的启动时间和内存消耗。 我们对Qt Quick Controls 2增加了许多小功能并修复了不少Bug。例如Buttons的自动重复属性、改进ScrollBars定位支持以及SpinBoxes的样式支持。

Qt Location

我们为Qt Location也做了许多改进。首先,最重要的新功能是实验性地增加了对turn-by-turn导航的支持。其次,Qt Location增加了一套实验性API,用于创建非QQuickItems的Map Object。MapPolyline对象的性能已有很大提升,图层功能现在也可以与Map Item结合使用。此外, Routing和Places对象已使用可扩展的API,添加了全新的WayPoint元素。最后,MapBox插件支持地理编码和Places。

Qt Webengine

按照惯例,我们将Qt Webengine的Chromium版本更新为Chromium 65。此外,我们现在支持嵌入式DevTools,不再需要打开另一个浏览器、可安装的cookie筛选器和配额权限。

Qt for Device Creation

Qt for Device Creation也同时拥有上述所有新功能。我们还一直在改进嵌入式专属的特性。 新功能还包括对基于硬件的图层的支持,目前的技术预览版仅能运行在支持VSP2硬件合成的设备上。该功能可用于诸如视频背景之类的功能,并且有助于提高性能,降低功耗。我们计划在今后的版本中支持更多平台、硬件组合。 我们改进了Qt SerialBus的CAN总线支持。KNX模块也有较大更新。此外,Qt 5.11还增加了一个支持OPC/UA的新模块,后者在Qt 5.11中以技术预览版的形式呈现。

其他改进

新的qdoc利用libclang编译,从而在文档中更好的支持新的C++标准。Qt Serialbus模块和Qt蓝牙模块方面也增强了对CAN总线和BTLE的支持。 Qt 5.11取消了对某些老版编译器和平台的支持,包括MSVC 2013, QNX 6.6和macOS 10.10。

Qt 3D 和 Qt 3D Studio

目前,我们正全力准备第二版Qt 3D Studio。其中包括基于Qt 3D、重写runtime,这会让用户在创建3D用户界面时能更好地集成Qt其他部分。Qt 3D也将有众多改进,包括全新功能、性能改进和Bug修复。Qt 3D Studio 2.0目前还处于测试阶段,我们会尽快推出正式版。

Qt对Webassembly和Python的支持

在Qt for Webassembly方面,我们正填补跨平台的最后一片空白;让用户能够以Web和浏览器为平台运行Qt应用程序。第一版已作为技术预览版发布。 此外,我们也在积极推动对Qt on Python的支持。第一版计划在本月发布。

感谢Qt 社区对我们的支持

Qt 5.11新增了许多新功能,并进行了性能的提升。如果没有那些为Qt贡献新功能、Bug修复、文档建立、示例和Bug报告的公司及个人开发者,我们无法完成这么多工作。要感谢的人实在太多了,在此特别鸣谢英特尔的Thiago Maciera长期以来对Qt Core的维护;合作伙伴basysKom的Jannis Voelker和Frank Meerkötter在OPC/UA上付出的心血;合作伙伴KDAB的Albert Astals Cid对CUPS printing的付出,Sean Harmer和Paul Lemire在Qt 3D上的贡献;还有,那些协助维护Qt各个模块的开发者们。感谢你们!

下载新版本

我们照例将对Qt 5.11提供为期一年的支持。如果您需要更长的支持期,推荐使用长期版Qt 5.9,我们将支持至2020年6月。当然,您可以向Qt公司购买延长服务。我们计划今年11月发布Qt 5.12,这将是一个长期支持的版本。 您可以从您的Qt帐户下载Qt 5.11。希望您喜欢使用这个新版本!

Comments

Subscribe to our blog

Try Qt 6.11 Now!

Download the latest release here: www.qt.io/download

Qt 6.11 is now available, with new features and improvements for application developers and device creators.

We're Hiring

Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.