最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt5升級到Qt6分步遷移教程小結

 更新時間:2023年09月01日 15:31:20   作者:閆有盡意無瓊  
Qt框架的一個新的長期支持版本6.5最近發(fā)布,本文主要介紹了Qt5升級到Qt6分步遷移教程小結,具有一定的參考價值,感興趣的可以了解一下

Qt框架的一個新的長期支持版本6.5最近發(fā)布。它為以前的版本引入了許多修復、改進和新功能。有些可能對您的應用程序有用(如果不是現(xiàn)在,可能會在將來),因此最好將應用程序遷移到最新版本的框架。 

仍然有許多應用程序仍在使用Qt 5,因此直接遷移到最新版本的框架并不容易。在本文中主要指出從Qt 5順利遷移到Qt 6的最關鍵步驟。

那么,為什么是Qt 6呢? 

  • 改進了性能。Qt 6引入了一個新的渲染管線,可以提高性能并減少內(nèi)存使用量,從而產(chǎn)生更快、響應更快的應用程序。
  • 改進的 QML。QML 已得到增強,性能更好,改進了對將C++類導出到 QML 的支持,以及用于調(diào)試 QML 代碼的更強大的工具。新的Qt快速編譯器允許您預編譯QML文件,以加快啟動時間。
  • 改進的模塊。一些模塊已被重寫和改進,例如Qt Quick 3D,Qt Multimedia和Qt WebEngine。使用這些模塊的最新版本將確保您的應用程序符合當前標準。
  • 附加模塊。許多模塊將作為附加組件提供。它將使Qt二進制文件更小,并允許您僅在項目中需要時才下載模塊。
  • 統(tǒng)一后端。Qt 6提供了一個API來訪問多個環(huán)境中特定于平臺的功能。這包括圖形、多媒體、輸入和窗口系統(tǒng)。
  • 長期支持。Qt 5已經(jīng)到了它的生命周期,雖然某些舊版本仍然有安全和錯誤修復,但任何新的特性或功能都只能在Qt 6中使用。如果您不希望您的應用程序過時得太快,您應該進行遷移。

這些是確保使用最新版本的Qt 6使您的應用程序與最新功能保持同步的主要內(nèi)容。應用程序的性能將比以前更好,并且將來維護應用程序?qū)⒏菀住?/p>

遷移到Qt 6的路徑

第 1 步、QT 移植到 QT 5.15 

將應用程序移植到Qt 5的最新版本,然后切換到Qt 6要容易得多。這是因為Qt在6.5版本中只發(fā)布了簡化遷移到Qt 5.15的機制。從Qt 5的先前版本遷移到最新版本的Qt 5應該很簡單。

第 2 步、檢查模塊更改 

在Qt 6中,Qt 5中提供的某些模塊不再可用。這些模塊將被刪除、重命名或合并到不同的模塊中。在最新版本中,幾個已刪除的模塊已經(jīng)刷新并添加到框架中。

通過檢查模塊更改,可以確保應用程序在遷移后按預期工作。當模塊不再存在時,關于如何表現(xiàn)的可能解決方案可能會有所不同。下面是幾個已棄用模塊的示例,以及如何更新使用它們的代碼。

  • Qt 快速控制 1 → 使用新的 Qt 快速控制 2
  • Qt Multimedia Widgets → 使用 Qt Multimedia 的 QML API
  • Qt 圖形效果 → 使用 Qt5Compat 模塊(Qt Quick MultiEffect 從 Qt 6.5 開始)

因此,取決于需要替換的模塊。刪除模塊和其他更改的完整列表可以在Qt文檔中找到。

“是否需要檢查文檔中每個模塊的更改?”

沒必要。它可以幫助您找到已棄用API的正確替代品,但Qt creator工具可以提示不再受支持的代碼的所有部分。請看步驟4.

第 3 步、QT移植:檢查您的環(huán)境 

Qt 6需要C++17或更高版本的編譯器(例如,對于Windows – MinGW 8.1.0或msvc 2019),因此如果您使用的是舊版本,則是時候升級了。Qt公司開發(fā)的工具也支持Qt 6,因為特定版本。對于Qt Creator,它是4.14,對于Qt Design Studio,它是2.0。

如果安裝了正確的編譯器和工具,則為 Qt 6 準備的應用程序應在移植后正確構建和運行。

第 4 步、執(zhí)行移植到 QT 6 

擺脫已棄用的功能。 

在Qt 5.15中,Qt 6中不包含的所有內(nèi)容都被標記為已棄用。默認情況下,此代碼的使用將作為編譯器警告彈出。但是也可以選擇將其視為錯誤。

要確保這一點,需要定義它應設置為指定宏時,已棄用的功能(在給定版本的Qt或任何更早版本中)將被禁用。

QT_DISABLE_DEPRECATED_BEFORE 0x050F00

如果在生成過程中看到任何錯誤,則應重構該部分。

不帶宏的輸出。應用已正確構建。

使用宏輸出。無法構建應用。 

運行沖突并擺脫這些警告。 

Clazy 是一個靜態(tài)分析工具,可作為 QtCreator 中的插件使用。Clazy 可以分析代碼并向您展示需要改進的地方??梢悦鞔_地告訴 Clazy 在執(zhí)行過程中要檢查什么。需要檢查一些特殊選項,這些選項可以指向Qt 6中不支持的代碼部分。Clazy 也能夠自動修復這些警告。

在移植過程中有用的選項:

  • qt6-deprecated-api-fixes 
  • qt6-header-fixes 
  • qt6-qhash-signature 
  • qt6-fwd-fixes 
  • missing-qobject-macro 

 可以在首選項→分析器→Clang工具→診斷配置中更改延遲配置。

 在移植過程中有用的選項:

輸出示例。

必要時使用 Qt5Compat 模塊。 

在第2步中,提到了一個名為Qt5Compat模塊?

引入該模塊是為了更好的進行遷移和過渡。它提供了Qt 6中消失的一些類,例如QRegExp和QStringRef,但由于這一點,它仍然可以在Qt 6應用程序中使用。比如某些模塊在Qt 6中消失了,但將在下一個版本中作為MultiEffect重新引入。因此,在此期間,可以暫時使用Qt5Compat模塊來確保兼容性。但是當MultiEffect模塊可用時,應該重寫代碼以切斷過時的API。

如何將模塊導入到項目中:

 頭文件包含也需要更改:

最后,請做好相關測試。

到此這篇關于Qt5升級到Qt6分步遷移教程小結的文章就介紹到這了,更多相關Qt5升級到Qt6內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺析VSCode tasks.json中的各種替換變量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等

    淺析VSCode tasks.json中的各種替換變量的意思 ${workspaceFolder} ${file} ${

    這篇文章主要介紹了關于VSCode tasks.json中的各種替換變量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等,本文給大家介紹的非常詳細,對大家的學習或工作具有參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Qt圓角窗口的兩種實現(xiàn)方案詳解

    Qt圓角窗口的兩種實現(xiàn)方案詳解

    在Qt中設置控件的圓角通常可以通過Qt樣式表(QSS)來實現(xiàn),這是一種非常靈活且強大的方式來定制Qt控件的外觀,這篇文章主要介紹了Qt圓角窗口的兩種實現(xiàn)方案,需要的朋友可以參考下
    2026-01-01
  • C語言實現(xiàn)將字符和數(shù)字串到一起

    C語言實現(xiàn)將字符和數(shù)字串到一起

    今天小編就為大家分享一篇C語言實現(xiàn)將字符和數(shù)字串到一起,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++實現(xiàn)信息管理系統(tǒng)

    C++實現(xiàn)信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • c/c++內(nèi)存分配大小實例講解

    c/c++內(nèi)存分配大小實例講解

    在本篇文章里小編給大家整理了一篇關于c/c++內(nèi)存分配大小實例講解內(nèi)容,有需要的朋友們可以跟著學習參考下。
    2021-11-11
  • C++使用模板實現(xiàn)單鏈表

    C++使用模板實現(xiàn)單鏈表

    這篇文章主要為大家詳細介紹了C++使用模板實現(xiàn)單鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • c++加法高精度算法的簡單實現(xiàn)

    c++加法高精度算法的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄猚++加法高精度算法的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • OpenCV實現(xiàn)智能視頻監(jiān)控

    OpenCV實現(xiàn)智能視頻監(jiān)控

    這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)智能視頻監(jiān)控,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • C++基礎學習之利用兩個棧實現(xiàn)一個隊列

    C++基礎學習之利用兩個棧實現(xiàn)一個隊列

    這篇文章主要給大家介紹了關于C++基礎學習之利用兩個棧實現(xiàn)一個隊列的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C++具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • QT實現(xiàn)簡單五子棋游戲

    QT實現(xiàn)簡單五子棋游戲

    這篇文章主要為大家詳細介紹了QT實現(xiàn)簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論

临城县| 天峻县| 丹寨县| 宁阳县| 香格里拉县| 乐都县| 莱阳市| 禹城市| 米泉市| 阳城县| 霞浦县| 界首市| 敦化市| 南京市| 古交市| 马公市| 丰城市| 县级市| 深水埗区| 白银市| 霍城县| 应城市| 木兰县| 温宿县| 肥西县| 若尔盖县| 汤阴县| 瑞昌市| 拉孜县| 赤峰市| 资兴市| 乌拉特前旗| 峨山| 常宁市| 大同县| 仙游县| 新野县| 色达县| 德令哈市| 龙井市| 通化县|