qt4公升級到qt5的一些問題

2021-09-08 18:36:39 字數 857 閱讀 6082

由於最近專案使用的qt版本從qt4.8公升級到qt5.5,雖然從4到5的變化不大,不過還是有許多的問題需要記錄一下,希望可以幫助到更多的人​

1、由於qt5將大部分桌面部件移到了qt widgets模組中​,因此在保護qtgui的地方需要包含qtwidgets模組

2、亂碼問題。

方式針對vs,由於window歷史原因,vs上使用utf8編碼時,std::string(標準串)會亂碼,因此vs上暫時使用gbk編碼。qt5去 除了qtextcodec::setcodecforcstrings()函式,所以在涉及到在cpp中直接寫漢字常量的情況,直接使用巨集 qstringliteral包裹,例如qstringliteral("我是漢字");如果漢字儲存於變數中則使用fromlocal8bit靜態方法。

針對linux,直接使用gbk編碼,qstring有成員方法tostdstring,把qstring型別的串轉換為std::string,qstring::fromstdstring方法把標準串轉化為qstring型別

3、加入json模組

標準jion串都是以鍵值對的形式描述的​,鍵是字串,值可以時json物件、json陣列或者json值

**sonvalue:json串的值

**sonobject:json物件

**sonarray:json陣列​

4、​使用到qwebview等webkit相關可視部件的,qt5單獨放到了qtwebkitwidgets模組中,所以得加標頭檔案#include 

5、加入多個connect過載方法,新的connect鏈結時,會使用型別檢測,在編譯器如果不匹配會報錯​

6、qtmutimedia替換了phonon​

c++介面變化

原創 QT4公升級到QT5

2016年第一篇部落格,新的一年新的開始,由於近乙個月忙於另外乙個專案,基本上沒有時間更新部落格。晚上回來收拾完已10點多。每天晚上抽出來半個小時,歷時乙個星期,今天終於將qt4的工程移植到qt5下。由於qt的版本公升級,導致很多 出現不相容情況,特別是漢字的支援,雖然網上很多有關qt5對漢字的支援...

Qt4公升級Qt5問題總匯

qt 5 編譯問題 新增qtwidgets模組 o 標頭檔案包含 代替原有的等。o pro 檔案中qt widgets 新增qtwetkitwidgets模組 o 標頭檔案包含 o pro 檔案中qt webkitwidgets wflags is not a member of qt o wfla...

QT4公升級到Qt5後,包含檔案更改總結

qt 5 編譯問題 qtftp add on 編譯並install 到ude qt5.2 目錄標頭檔案包含 include pro 檔案中qt ftp 編譯並install 到ude qt5.2 目錄標頭檔案包含 include pro 檔案中qt http if qt version 0x0500...