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新增支持:
    • 通过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 UA
    • 添加了GDS客户端支持的技术预览。
    • 将3rdparty open62541更新到了1.0版。
  • Qt CoAP
    • 该模块将技术预览状态留在后面,并给出了API承诺。

弃用的模块

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

  • Qt Script
  • Qt Quick Controls 1
  • Qt XmlPatterns

关于更多

  • 原文地址:
    https://wiki.qt.io/New_Features_in_Qt_5.14

  • 下载地址:
    http://download.qt.io/archive/qt/5.14/5.14.0

你可能感兴趣的:(Qt 5.14版本更新细节)