Qt 5.11发布了,该版本包含一些新功能以及对现有功能的许多错误修复。
Qt Core and Network Qt Core上有很多小修改。例如说,一部分工具类增加了右值引用的重载版本,并且添加了一些的方法以获得更好的STL兼容。 在Qt Network中,现在iOS支持ALPN和HTTP/2。 Qt Core中的一个重大更新是改进了Unicode支持。现在QChar,QString,QTextBoundaryFinder和双向文本算法完美兼容Unicode 10。
Qt GUI 和 Widgets Qt 5.11的一个重要的改进是关于Windows上的可访问性支持。它得到了完全重写,现在基于Microsoft UI Automation。 同时为了更好地支持高DPI显示,也进一步修改了Windows上的部件样式。Linux上的打印对话框也进行了重大改进,为CUPS的选项提供了更好的支持。 Qt Widgets包含了大量的错误修复,并支持在QLineEdit中通过鼠标快速选择文本。 总而言之,对桌面用户来说,这个更新很棒。
Qt QML QML引擎后端发生一些比较大的变化。我们完全重写了编译器管道,它负责解析和编译QML。新的编译器管道在性能和可维护性方面有着重大改进。 新的编译器管道总是将QML编译为与平台无关的字节码。引擎会将这个字节码缓存在.qmlc文件中。您也可以使用qmlcompiler功能(现在也可在开源版本中使用)提前生成字节码。 与旧版本相比,新的字节码解释器性能大大提高。在绝大多数测试用例中,它能达到Qt 5.10中80-90%的JIT性能。
Qt Quick和Qt Quick Controls 在Qt Quick中,我们扩展了对在Image元素中加载压缩纹理的支持,现在支持.ktx和.pkm容器文件格式。将图像存储为可以通过GPU直接处理的格式,会有助于减少应用程序启动时间和内存消耗。 Qt Quick Controls 2包含了很多错误修复与新增了一些小功能。
Qt Location Qt Location也是一个有很多改进的模块。最重要的新功能可能是实现对逐向导航的支持。但除此之外,Qt Location现在有一个实验性的API来创建不绑定到QQuickItems的地图对象。而且MapPolyline对象的性能也有了很大的改进,并且现在图层支持与Map组件结合使用。另外,我们制作了Routing and Places API,并增加了一个新的WayPoint元素。最后,MapBox 插件新增对地理编码和地点的支持。
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 ++,对现代C ++提供了更好的支持。Qt Serialbus和Bluetooth 改进了对CAN总线和BTLE的支持。 使用Qt 5.11,我们也取消了对一些较老的编译器和平台的支持。不再支持MSVC 2013,QNX 6.6和macOS 10.10。
Qt for Webassembly 使用Qt for Webassembly,我们正在努力填补我们跨平台故事的最后一个空白,允许我们的用户将Web和浏览器作为Qt应用程序的平台。
相关主题 |