美文网首页
Qt 5.14版本更新细节

Qt 5.14版本更新细节

作者: Qt君 | 来源:发表于2019-12-12 21:29 被阅读0次

    本文翻译并摘录自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

    关于更多

    相关文章

      网友评论

          本文标题:Qt 5.14版本更新细节

          本文链接:https://www.haomeiwen.com/subject/ltqxnctx.html