翻譯|使用教程|編輯:鮑佳佳|2021-06-29 11:16:19.647|閱讀 579 次
概述:從之前的版本 Qt 5 到 Qt 6,Qt 有很多變化。在升級到 Qt 6 之前,請確保您的 Qt 5 應用程序已更新到 Qt 5.15(下載Qt5.15)。在移植到 Qt 6 時,最新的 Qt 5 版本的更改最少。但是,Qt 6.0 版本中可能已刪除在 Qt 5.15 中標記為已棄用或過時的 API。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
從之前的版本 Qt 5 到 Qt 6,Qt 有很多變化。在升級到 Qt 6 之前,請確保您的 Qt 5 應用程序已更新到 Qt 5.15(下載Qt5.15)。在移植到 Qt 6 時,最新的 Qt 5 版本的更改最少。但是,Qt 6.0 版本中可能已刪除在 Qt 5.15 中標記為已棄用或過時的 API。
Qt開發工具推薦:
如果要將 Qt 5 應用程序移植到 Qt 6,您應該檢查以下事項。
在Qt中使用廢棄的API通常會以編譯器警告的形式出現。你也可以通過在你的構建系統中定義 QT_DISABLE_DEPRECATED_BEFORE C++ 宏來使這種使用成為錯誤。要禁用任何在5.15或更早的Qt版本中廢棄的API,請將該宏定義為0x050F00,也就是編碼為十六進制的 "5.15.0"。
例如,在qmake項目文件中,定義該宏為
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x050F00
在 CMake 中,您可以使用 add_compile_definitions:
add_compile_definitions(QT_DISABLE_DEPRECATED_BEFORE=0x050F00)
Qt 6版本的一個目標是保持一個精簡的框架,這意味著在Qt 6中刪除了一些Qt 5模塊。在某些情況下,被廢除的模塊的API在另一個模塊中可用。在未來 v6.2版本中,可能會添加新的或以前的模塊。
QML 應用程序有一個新的圖形后端,您應該測試它的回歸。OpenGL 不再保證為目標平臺上的默認值,您應該檢查您的圖形代碼是否仍在創建您想要的相同效果。
仍然可以在 Qt 應用程序中使用 OpenGL 調用,但 OpenGL API 已移至Qt OpenGL模塊。Qt Widgets 應用程序的圖形后端與 Qt 5 相同。
Qt 6支持所有平臺上的高DPI顯示器,并且在使用Qt Widgets或Qt Quick等更高級別的API時,將自動考慮顯示器的分辨率。應用程序只需要提供高分辨率的資產,如圖像和圖標。該功能總是被啟用。
Qt 6 將默認的比例因子舍入策略從 Qt::HighDpiScaleFactorRoundingPolicy::Round 改為 Qt::HighDpiScaleFactorRoundingPolicy::PassThrough,以便準確跟蹤操作系統的 DPI 設置。使用 Qt Widgets 的應用程序可能會在非整數比例因子下遇到圖形故障,例如在配置為 175% 的顯示器的 Windows 下。在這種情況下,將四舍五入策略設置為圓形,以恢復Qt 5的行為。
Qt 6 與目標平臺上的原生 API 有更好的集成。您可以使用平臺集成 API 來實現 Qt 未提供的原生行為。
一個基于 Clazy 的工具可用于促進從 Qt 5 到 Qt 6 的:使用 Clazy 檢查將 C++ 應用程序移植到 Qt 6。
====================================================
想要了解或購買Qt正版授權的朋友,歡迎
Qt技術交流群現已開通,QQ搜索群號“765444821”或者掃描下方二維碼即可加入
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: