Qt 5.14版本更新细节

本文翻译并摘录自Qt官网。

新功能(现有模块中)

Qt 3D

  • 线程体系结构大更改(线程更改,删除帧缓冲区对象)。
  • 前端/后端节点同步大更改(减小渲染帧的线程同步数量)。
  • QTransform如今能够访问世界矩阵。
  • 引入Scene3DView。
  • Scene3D与QtQuick同步。
  • Scene3D如今能够渲染为没有FBO的底图。

Qt蓝牙

  • QLowEnergyController:引入AuthorizationError。
  • [QTBUG-40698]可选的win32后端以支持Windows 7和8。后端不是默认构建的,也不是预构建包的一部分。
  • [QTBUG-76615]每一个制造商ID能够拥有多个制造商数据。

Qt Core

  • QCalendar经过实现适当的后端实现,增长了对除Gregorian之外的Calendar的支持。
  • 日历后端实现格里高利日历、贾拉利日历(波斯语)、伊斯兰文明日历、米兰科维奇日历和朱利安日历。咱们期待着其余的贡献。
  • [ QTBUG-14150 ]Qt如今能够从新定位,也就是说,能够在不破坏功能或加载插件的状况下移动Qt安装。

Qt GUI

  • QColorConstants提供constexpr QColor实例,而这些实例不会花费任何运行时开销。
  • 更新了High-DPI支持前端

    • 应用程序如今能够选择使用非整数比例因子,例如Windows的150%。使用QGuiApplication :: highDpiScaleFactorRoundingPolicy或QT_SCALE_FACTOR_ROUNDING_POLICY设置舍入策略。
    • 添加了QT_ENABLE_HIGHDPI_SCALING环境变量,该变量可基于显示DPI进行高dpi缩放。替换QT_AUTO_SCREEN_SCALE_FACTOR(现已弃用),而且对应于Qt::AA_EnableHighDpiScaling应用程序属性。
    • 如今,跨平台支持QT_FONT_DPI环境变量,以便使用特定的DPI值进行开发和测试。
  • 图像的色彩空间支持。读取和写入JPEG,PNG,WebP和TIFF图像中的色彩空间,并对图像执行色彩空间转换。
  • QTextDocument/QTextTable新增支持:android

    • 经过QTextTableCellFormat实现每边边框样式。
    • 边界折叠模式。
    • HTML表样式导入(部分)和导出。
  • QTextDocument支持读写Markdown格式,以替代HTML。若是您阅读HTML并编写Markdown,或者反之亦然,则应在CommonMark和GitHub规范容许的范围内保留格式(包括标题,表格,项目符号列表,块引号和代码块)。注意:咱们尚不能保证全部状况,由于到目前为止,它已经通过了严格的测试。

Qt多媒体

  • 添加了QVideoFrame::Format_YUV422P
  • 引入了对GStreamer OpenGL插件的支持

Qt网络

  • HTTP/2配置API。
  • 网络链接监控。
  • [QTBUG-1538]支持Kerberos代理身份验证。

Qt QML

  • 添加了qmlRegisterSingletonInstance函数。这容许将QObject做为单例暴露给QML使用,而没必要建立qmlRegisterSingletonType所需的工厂函数。在常见用法中,它用做setContextProperty的类型安全替代。
  • 添加了qmlRegisterAnonymousType来替代qmlRegisterType。它容许指定URI和主要版本,从而提供更好的工具支持。
  • qmllint得到了实验性-U选项。若是与它一块儿运行,它会警告访问不合格的标识符。

Qt Quick

  • 做为可选功能添加了独立于图形API的Scenegraph渲染器的第一个预览。这容许在Vulkan,Metal或Direct3D 11而不是OpenGL上运行合格的Qt Quick应用程序。当前支持的平台是Windows 10,带有X11(xcb)的Linux,带有MoltenVK的macOS或适用于Vulkan的Android 7.0+,适用于Metal的macOS,适用于D3D的Windows 10。
  • Text和TextEdit如今支持Markdown格式(CommonMark和GitHub风格),以替代HTML。后端

    • 包括GitHub清单扩展,所以您能够单击以切换TextEdit中的复选框。
  • 默认状况下,TextEdit使用I型光标,在悬停复选框或连接时使用指向手形光标。可是,您仍然能够覆盖(重写)默认光标。
  • 添加了WheelHandler,这是鼠标滚轮的事件处理程序,还能够选择用于来自触控板的模拟鼠标滚轮事件。
  • 在Qt.labs.animation中添加了BoundaryRule:一个PropertyValueInterceptor,它限制数值属性能够具备的值的范围,当值超调时应用"阻力",并提供将其从新设置为范围内的动画的能力。与WheelHandler结合使用时,它特别有用,可提供与Flickable类似的物理功能。
  • 事件处理程序基类(例如QQuickSinglePointHandler和QQuickMultiPointHandler)具备私有实现,而这些类自己适合于子类并被导出。它们尚不支持公共C++ API,可是咱们建议您不管如何都要使用私有API对其进行子类化。它们打算在Qt 6中的某个时刻公开(而且咱们能够继续迭代API,直到那时,尤为是跟上即将在Qt 6中对QEvent类进行的更改)。
  • 如今,Image和BorderImage具备与AnimatedImage相同的currentFrame和frameCount属性。例如,这容许从包含多个图标的.ICO文件中选择单个图标。未来,它打算支持其余多页格式,例如PDF,TIFF和WEBP。
  • 添加了PathPolyline和PathMultiline做为使用Qt Quick Shape绘制和/或填充任意多边形和多边形集的附加方式。

Qt SerialBus

  • [QTBUG-72979]添加了运算符以比较QCanBusDevice::Filter是否相等或不相等。
  • [QTBUG-70449]添加了QCanBusDevice::OperationError和QCanBusDevice::TimeoutError代码,分别指示错误的操做超时错误。
  • [QTBUG-70766]添加了功能QCanBusDevice::busStatus()以从CAN总线设备查询CAN总线状态。
  • [QTBUG-54943]添加了功能QCanBusDevice::resetController()以将CAN控制器从总线关闭状态复位。
  • [QTBUG-75204]SocketCAN:添加了配置参数QCanBusDevice::ProtocolKey,以使用协议系列PF_CAN中的另外一个协议。
  • [QTBUG-54296]SocketCAN:若是libsocketcan可用,则能够在运行时获取和设置CAN总线比特率。
  • [QTBUG-75405] [QTBUG-76232]暴露用于Modbus通讯(例如用于设置串行端口硬件流控制(RTS/CTS))的下层QIODevice。
  • PeakCAN:使用MacCAN在macOS上增长了对PCAN-USB设备的支持。

Qt 测试

  • initMain()方法,用于执行须要在QApplication存在以前进行的任何初始化。

Qt WebEngine

  • 更新为基于Chromium 77。
  • [QTBUG-74166]用于控制QWebEnginePage生命周期的新API。
  • [QTBUG-56978]下载项目的方法和属性,以获取建议的名称,并更改下载目录和文件名。
  • [QTBUG-50420]新的findTextFinished信号以及相应的QWebEngineFindTextResult和FindTextResult类型,以获取有关文本搜索结果的更多信息。
  • [QTBUG-55110] [QTBUG-51176]向QWebEngineCertificateError添加了方法以异步处理错误并获取数字证书链。

Qt Widgets

  • QTextEdit和QTextBrowser如今支持Markdown格式(CommonMark和GitHub风格),以替代HTML。安全

    • 包括GitHub清单扩展,若是小部件可编辑,您能够单击以切换复选框。
    • QTextBrowser::setSource()基于文件扩展名检测Markdown。

平台变动

安卓系统

  • Android须要NDKr20+。
  • 一次性添加了多个ABI版本。默认状况下,它将为全部android支持的abis(arm64-v8a,armeabi-v7a,x86_64,x86)构建。用户能够经过ANDROID_ABIS qmake变量来控制要使用的ABI。
  • 添加了对新AAB软件包格式的支持,该格式容许将单个应用程序捆绑包部署到Google Play,其中包含全部受支持的ABI的二进制文件。

新模块

  • Qt Quick Timeline

技术预览模块

  • 为Qt Quick 3D添加了技术预览,Qt Quick 3D是用于从Qt Quick为用户界面建立3D内容的高级API。

Qt for Automation

  • Qt KNX网络

    • 对KNXnet/IP Core V2的扩展支持(discovery, tunneling, routing, security)。
  • Qt Mqtt异步

    • 添加了对加密链接时使用QSslConfiguration的支持。
    • 添加了autoKeepAlive属性以启用手动链接检查。
  • Qt OPC UAsocket

    • 添加了GDS客户端支持的技术预览。
    • 将3rdparty open62541更新到了1.0版。
  • Qt CoAPide

    • 该模块将技术预览状态留在后面,并给出了API承诺。

弃用的模块

  如下模块是Qt 5.14发行版的一部分,但已弃用,并考虑在后续的Qt发行版中删除:函数

  • Qt Script
  • Qt Quick Controls 1
  • Qt XmlPatterns

关于更多

  • 原文地址:

https://wiki.qt.io/New_Featur...工具

  • 下载地址:

http://download.qt.io/archive...

相关文章
相关标签/搜索