麻豆一区二区三区蜜桃免费_中文字幕Va一区二区三区 _国产成人综合久久二区_丰满多毛的大隂户毛茸茸_国产麻豆剧果冻传媒免费老狼_无码人妻精品一区二区三区久久久 _亚洲中文无码精品卡通_蜜臀亚洲AV永久无码精品老司机

Qt 6.2 長周期版正式發(fā)布
發(fā)布時間:2022-03-31

本文翻譯自Qt 6.2 LTS Released

原文作者:Qt 公司首席技術(shù)官及Qt開源項目首席維護者Lars Knoll

校審:Sam Wong


我很高興地宣布 Qt 6.2 的正式發(fā)布。它是自我們開始邁向全新Qt主要版本以來,一直在努力的版本。Qt 6.2得益于我們?yōu)镼t 6所做的所有架構(gòu)升級,并包含了Qt 5.15中幾乎所有深受喜愛的附加模塊。



Qt 6.2 也是 Qt 公司為商業(yè)版客戶提供的Qt 6系列中第一個長周期支持版。


在我們升級 到Qt 6的計劃中,我們首先關(guān)注 Qt 的核心,為了能在未來幾年保持競爭力而做了架構(gòu)級別的改變。但這一投入也意味著我們必須在發(fā)布 Qt 6.0 時對所支持的附加模塊做出妥協(xié)。因此,盡管 Qt 6.0 比 Qt 5.15 更好、更先進,但它確實缺乏 Qt 5.15 提供的某些功能。在 Qt 6.2 中,我們縮小了差距,并包含了 Qt 5.15 中的所有常用功能以及為 Qt 6 添加的新功能。


隨著 Qt 6.2 的發(fā)布,幾乎所有Qt用戶都應(yīng)能將其代碼從 Qt 5 遷移到 Qt 6。我們已將自己的工具實現(xiàn)了遷移。也就是說,Qt Design Studio 2.2 和即將發(fā)布的 Qt Creator 6 beta 版都基于 Qt 6.2 長周期支持版。


除了增加缺失的功能外,Qt 6.2 還專注于提高穩(wěn)定性、性能和開發(fā)者的生活質(zhì)量。


在詳細了解 6.2 新功能之前,讓我們回顧一下 Qt 6 的主要變化。


Qt 6 中架構(gòu)級別的更改

我們對 Qt 6進行了一些更廣泛的架構(gòu)更改,并以此構(gòu)建 Qt 6.2 以及未來版本。這些變化包括:


? 利用 C++17?? 開發(fā)Qt 6 時,我們希望建立在現(xiàn)代 C++ 標(biāo)準(zhǔn)之上。C++17 是當(dāng)時的最新版本,而 Qt 6 現(xiàn)在依賴于 C++17 兼容編譯器。這使得我們可以清理和改進我們的代碼庫,并能為用戶提供更現(xiàn)代的 API。
? 在處理大型數(shù)據(jù)集和性能方面改進了低級容器類。
? 下一代 QML?? 我們已開始更努力地更新 QML 語言,使其更安全、更易用。Qt 6.0 – 6.2奠定了基礎(chǔ),但這種努力將在整個 Qt 6 系列中繼續(xù)。
? 將屬性綁定引入 C++ ? 屬性綁定是使QML 取得成功的概念之一。在 Qt 6 中,我們已經(jīng)在 C++ 中實現(xiàn)了這個概念。
? 新的圖形架構(gòu)? Qt 6 在如何處理與底層操作系統(tǒng)的 API集成方面采用了全新的架構(gòu)。由于新的渲染硬件接口(RHI),Qt 6現(xiàn)在默認(rèn)使用每個系統(tǒng)上可用的最佳圖形API,顯著提高了兼容性,尤其是在桌面和移動操作系統(tǒng)(如 Windows 和 macOS 以及 iOS)上。
? Qt Quick統(tǒng)一的 2D和3D?? Qt Quick 一直是構(gòu)建動畫和流暢 2D 用戶界面的框架。我們在Qt 6中還簡化了將 3D 內(nèi)容集成到基于 QML 的應(yīng)用程序流程。深度集成使得在任何級別混合 2D 和 3D 內(nèi)容都變得很容易,同時獲得系統(tǒng)的最大性能。
? CMake 構(gòu)建系統(tǒng)? 從Qt 6開始,我們將構(gòu)建系統(tǒng)從 qmake 改為 cmake,這是當(dāng)今基于C++應(yīng)用程序的標(biāo)準(zhǔn)構(gòu)建系統(tǒng)。雖然我們?nèi)詫⒃赒t 6整個生命周期內(nèi)支持 qmake,但初步用戶報告表明切換到 cmake 后有顯著改進。


盡管有這些變化,將您現(xiàn)有的代碼庫移植到 Qt 6 應(yīng)該很簡單。您將在本文中讀到更多相關(guān)信息。


現(xiàn)在讓我們仔細看看 Qt 6.2 中的新功能。


添加的模塊


開發(fā) Qt 6.2 的主要工作之一是重新添加我們在 Qt 6.0 中遺漏的所有模塊和功能。除了極少數(shù)例外,Qt 5.15 支持的所有模塊現(xiàn)在也在Qt 6.2中得到支持。


在 Qt 6.2 中,我們添加了對以下模塊的支持(在 Qt 6.1 中已有的模塊之上):

  • Qt Bluetooth
  • Qt Multimedia
  • Qt NFC?
  • Qt Positioning
  • Qt Quick Dialogs
  • Qt RemoteObjects
  • Qt Sensors
  • Qt SerialBus
  • Qt SerialPort
  • Qt WebChannel
  • Qt WebEngine
  • Qt WebSockets
  • Qt WebView


這些模塊的 API 主要向后兼容 Qt 5,并且在移植到 Qt 6 時只需要對用戶代碼進行微調(diào)。


Qt 6.2 支持的完整模塊列表(https://doc.qt.io/qt-6/qtmodules.html)可以在我們的在線文檔中找到。


Qt 6.2 中的新功能


除了從 Qt 5 帶來的許多模塊,我們還在 6.2 中引入大量的新特性(https://wiki.qt.io/New_Features_in_Qt_6.2)和功能。我們來看一下。


Qt Quick 3D


Qt Quick 3D得到了一些很酷的新功能,現(xiàn)在支持實例化渲染,允許您用不同變換渲染大量相同的對象。我們還添加了一個用于向場景添加 3D 微粒效果的 API。


輸入處理已得到改進,我們現(xiàn)在可以為嵌入在 3D 場景中的 2D 項目正確創(chuàng)建 Qt Quick 輸入事件。我們還添加了一個從場景任意點進行基于光線的拾取的API。


QML工具


Qt 6.2 對 QML 工具進行了較大改進。我們現(xiàn)在有一個公共CMake API,它極大地簡化了創(chuàng)建您自己 QML 模塊的過程。


QML linter (qmlint) 是一種工具,用于檢查 QML 源代碼的最佳實踐、潛在的編碼和性能問題,并幫助編寫更易于維護的 QML。該工具經(jīng)歷了巨變,現(xiàn)在可以通過配置文件在命令行級別進行完全配置,甚至可以對QML文件本身中的單個塊進行配置。此外,它現(xiàn)在可以生成 JSON 輸出以簡化與其他工具或自動化系統(tǒng)的集成。


QML 格式化程序 (qmlformat) 現(xiàn)在使用 QML dom 庫,大大改進了生成的輸出。


Qt Multimedia


Qt Multimedia 在 Qt 6 中經(jīng)歷了巨大變化。它是我們在 Qt 5 生命周期中不滿意的 API 之一。因此,我們退后一步,對模塊做了一些更廣泛的API和架構(gòu)更改,而沒太考慮向后兼容性。


盡管如此,從Qt 5 中的 Qt Multimedia移植到 Qt 6 應(yīng)該相對簡單。


Qt 6 中的 Qt Multimedia確實支持一些我們從未在Qt 5中正確支持且被多次要求增加的功能,包括支持字幕、回放時的語言選擇以及可配置的媒體捕獲設(shè)置。


內(nèi)部架構(gòu)已經(jīng)過清理,不再像 Qt 5那樣通過公共 API 公開。這使我們能夠更快地修復(fù)bug,并且使添加新功能變得更加容易。


然而,由于這些巨大的變化,該模塊在實現(xiàn)中可能存在相當(dāng)多的bugs。但是,我們相信多媒體是必不可少的一項功能,將在 Qt 6.2 中完全支持該模塊。


因此,我們將在補丁級版本的常規(guī)提交策略上有所偏離,如果需要修復(fù)較大的問題,可能會添加一些較小的 API。


此外,在即將發(fā)布的補丁級版本中,我們將盡快努力修復(fù)任何報告的錯誤。


較小的一些改進


幾乎所有其他模塊都有許多較小的 API 添加和改進。


我們移植了許多 API來利用新的屬性系統(tǒng),以便您使用 C++中的屬性綁定。這項工作尚未完成,我們將在未來的版本中繼續(xù)。


我們還修復(fù)了許多 API 缺點和不同地方缺失的功能。僅舉幾個例子:


??? ?Qt Charts 增加了提高便利性并方便定制的新API。
??? ?為 QImage 添加了浮點圖像格式。
??? ?QByteArray::number() 現(xiàn)在可以正確處理不等于 10基數(shù)的負值。
??? ?QLockFile 現(xiàn)在具有采用 std::chrono 的重載
??? ?Qt Network 支持多個可以在運行時共存的 SSL 后端。


詳細信息,請查看我們 wiki 中的新功能頁面(https://wiki.qt.io/New_Features_in_Qt_6.2)。


Qt Creator 和 Qt Design Studio


我們?yōu)镼t Creator 和 Qt Design Studio 也做了大量工作,以確保它們?yōu)?Qt 6.2 提供一流的支持。Qt Creator 5 包含用Qt 6.2 開發(fā)所需的一切。


今天我們還發(fā)布了全新版本的 Qt Design Studio。Qt Design Studio 2.2 基于 Qt 6.2,為在一個圖形工具中創(chuàng)建基于Qt Quick和Qt Quick 3D的用戶界面帶來了極大支持。您可以在目標(biāo)硬件上輕松測試這些功能,無論是臺式機、移動設(shè)備還是嵌入式設(shè)備。詳細信息,請查看有關(guān) Qt Design Studio 2.2 的博文(https://www.qt.io/blog/qt-design-studio-2.2-released)。


全新平臺


我們在Qt 6.2上做了很多工作來改進對當(dāng)前支持平臺的支持,包括臺式機和移動端,例如,改進我們對 HighDPI 渲染的支持和在 iOS 上添加 NFC 后端。



除此以外,Qt 6.2 大幅擴展了支持平臺的范圍:


Qt 6.2 完全支持 Apple Silicon 上的 macOS。Qt 現(xiàn)在可以輕松創(chuàng)建通用二進制文件,并在 Intel 和 Apple Silicon 上為 macOS 進行開發(fā)。當(dāng)然,該版本也在我們的 CI 系統(tǒng)中進行了全面測試。Qt 應(yīng)用程序一貫?zāi)茉贏pple芯片的 Rosetta 層上運行,但 Qt 6.2 現(xiàn)在全面支持在 Apple原生芯片上運行。


Qt 6.2 還恢復(fù)了對 INTEGRITY 和 QNX 實時操作系統(tǒng)的支持。支持需要C++17工具鏈和最新版本的操作系統(tǒng)。QNX 的最低要求是 7.1 版,在 INTEGRITY 上,我們支持 19.0.13 版。


針對 Qt 6.2 的 webOS 驗證也已完成,以進一步加強 Qt 對 webOS 的承諾。


支持Windows 11的工作正在進行中,我們希望能夠在6.2補丁級版本中為其提供全面支持。Qt 6.2還提供了對ARM硬件上的Windows的技術(shù)預(yù)覽版支持。


最后,我們改進了對WebAssembly 的支持,在 Qt 6.2 中以技術(shù)預(yù)覽版發(fā)布。


從 Qt 5 移植


在開發(fā) Qt 6 時,與 Qt 5 的源代碼兼容性一直是我們工作的關(guān)鍵部分。有時我們不得不在某種程度上打破這種兼容性,以進行必要的架構(gòu)更改,或為我們帶來巨大的性能優(yōu)勢。


在大多數(shù)情況下,從 Qt 5 移植到 Qt 6 應(yīng)該很簡單。Qt 6 移植指南(https://doc.qt.io/qt-6/portingguide.html)列舉了所需的步驟,并提供了更多信息。您還可以從我們的合作伙伴或我們的顧問(https://www.qt.io/zh-cn/qt-consulting)獲得移植幫助。


移植到 Qt 6 的典型步驟是:


??? ?檢查您是否使用了受支持的編譯器和平臺版本
??? ?首先在 Qt 6 模式下使用 Qt 5.15 編譯(使用 QT_DISABLE_DEPRECATED_BEFORE 宏)
??? ?然后用 Qt 6.x 編譯 —— 如果需要,在移植階段利用兼容性模塊


有了這些,您就可以在 Qt 6 上運行應(yīng)用程序,并可以開始使用它提供的所有新特性和功能。例如,如果您的應(yīng)用程序使用 QML,請運行 qmlint 工具,并修復(fù)它給出的警告。



這里,我還想介紹一本有關(guān) QML 和 Qt 6 的電子書(https://www.qt.io/product/qt6/qml-book)。這是QML入門或了解更多信息的絕佳資源。我們要感謝主要作者, Johan Thelin、Jürgen Ryanell 和 Cyril Lorquet,以及參與其中的社區(qū)成員。該項目由 Qt 公司贊助,這是一個持續(xù)更新的動態(tài)文檔。歡迎大家給與項目好評和反饋。


今天就試試吧


在向您提供下載 Qt 6.2鏈接前,我想向您推薦閱讀Qt 6.2 的發(fā)行說明(https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.2.0/release-note.md),其中包含眾多自 Qt 6.1發(fā)布以來我們所做的更改詳細信息,包括已修復(fù)bugs的完整列表。


它還包含了所有為 Qt 6.2 貢獻補丁的人的完整列表。列表太長,無法在此處重現(xiàn),但我要感謝所有幫助和實現(xiàn) Qt 6.2的人們。


如果您已安裝了 Qt,那么獲得 Qt 6.2 的最簡單方法是通過在線安裝程序。如果沒有,您可以從您的 Qt 帳戶或通過我們的網(wǎng)頁下載。


希望您喜歡 Qt 6.2。讓我們知道使用它的進展,并報告您可能發(fā)現(xiàn)的任何bug,以便在即將發(fā)布的補丁版本中使 Qt 6.2 變得更好。


請繼續(xù)關(guān)注Qt 6


最后但同樣重要的是,這里有一個關(guān)于在不久的將來還有哪些的快速更新。一個跟蹤并了解正在發(fā)生的事情的好地方是Qt 6獨立頁面。


Qt World Summit 2021將近,我想邀請您的加入。您將從我們團隊、我們的客戶和 Qt 生態(tài)系統(tǒng)成員那里面對面交流,從Qt 的最新發(fā)展中獲得靈感。您可以在https://www.qt.io/zh-cn/qtws21_china報名中國站活動


謝謝大家, Qt 公司希望您會喜歡Qt 6.2長周期支持版!


(文章來源公眾號:QT軟件)