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...

相關文章
相關標籤/搜索