翻譯|使用教程|編輯:鮑佳佳|2020-11-27 14:33:28.027|閱讀 529 次
概述:在Qt 5中,有些類別已經有現有的替代品,并且某些類別在Qt 6開發階段得到了繼任者。因此,能夠同時使用舊的和新的Qt版本編譯代碼可能很有意義。這樣可以確保將不使用任何版本的代碼進行編譯的工作量減至最少,從而使您的應用程序或庫可以繼續與Qt 5和Qt 6一起工作。另一個優點是,現有的單元測試對于大多數版本都可以繼續工作。移植的持續時間以及移植代碼所導致的回歸與Qt 6中引入的錯誤很容易區分開。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt是一個跨平臺框架,通常用作圖形工具包,它不僅創建CLI應用程序中非常有用。而且它也可以在三種主要的臺式機操作系統以及移動操作系統(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式設備,Android(Necessitas)和iOS的端口上運行。現在我們為你提供了免費的試用版。趕快點擊下載Qt6最新試用版>>
從Qt 5移植到Qt 6的過程一直很容易。在Qt 6的整個開發過程中,一直有意識地努力保持與Qt 5的盡可能多的源兼容性。盡管如此,移植仍需要一些努力。這篇簡短的文章總結了移植到Qt 6時所需的一些步驟。
工具推薦:
在Qt 5中,有些類別已經有現有的替代品,并且某些類別在Qt 6開發階段得到了繼任者。因此,能夠同時使用舊的和新的Qt版本編譯代碼可能很有意義。這樣可以確保將不使用任何版本的代碼進行編譯的工作量減至最少,從而使您的應用程序或庫可以繼續與Qt 5和Qt 6一起工作。另一個優點是,現有的單元測試對于大多數版本都可以繼續工作。移植的持續時間以及移植代碼所導致的回歸與Qt 6中引入的錯誤很容易區分開。
種類
下表列出了在Qt 6中已刪除但為了便于移植而保留在Qt5Compat中的類。它還包含將在Qt6中的新代碼中使用的類。
Qt 5類 | Qt 6更換 |
QLinkedList |
std :: list * |
QRegExp | QRegularExpression |
QStringRef | QStringView |
QXmlSimpleReader | QXmlStreamReader |
QTextCodec | QStringConverter |
QTextEncoder | QStringEncoder |
QTextDecoder | QStringDecoder |
*如果不需要鏈接列表的引用穩定性,則也可以考慮使用QList。
調整構建系統如果要繼續使用上述Qt 5類,首先需要調整您的構建系統以鏈接到新的Qt5Compat模塊。對于qmake構建系統,將以下行添加到.pro文件中:
QT += core5compat
如果您已經將應用程序或庫移植到了cmake構建系統,請將以下內容添加到您的 CMakeList.txt:
PUBLIC_LIBRARIES Qt::Core5Compat
修復包括
除了顯然需要進行的構建系統更改外,您可能還需要修復前面提到的類的包含。您的實際代碼可能如下所示:
#include <QtCore / QRegExp>
需要針對新的Qt5Compat模塊進行更新:
#include <QtCore5Compat / QRegExp>
或使用更加簡單和可移植的版本:
#include <QRegExp>
好了這就是今天的內容了,如果今天的文章未解決你的需求,可點擊獲取更多免費教程。不要忘了在評論與我們分享您的想法和建議。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: