Qt4公升級Qt5問題總匯

2021-06-28 22:12:42 字數 2826 閱讀 2790

qt 5 

編譯問題:

· 新增qtwidgets模組

·  o 標頭檔案包含

,代替原有的等。

o .pro

檔案中qt += widgets

· 新增qtwetkitwidgets模組

·  o 標頭檔案包含

o .pro

檔案中qt += webkitwidgets

· 'wflags' : is not a member of 'qt'

· o 

wflags --> windowflags

· 'qstring::fromutf16' : cannot convert parameter 1 from 'wchar_t *' to 'const ushort *'

· o 

c-style cast

轉換: (const ushort *)

· · 

o 去掉「

::unicodeutf8」引數

· q_ws_***

廢棄,造成

.lib

檔案無法生成

· o 

q_ws_*** 

替換成q_os_***

o q_ws_x11

替換成q_os_unix

· qftp

不支援

·  o qtftp add-on

o 編譯並install

到ude qt5.2目錄

o 標頭檔案包含

#include 

o .pro

檔案中qt += ftp

不支援

o 編譯並install

到ude qt5.2目錄

o 標頭檔案包含

#include 

o .pro

檔案中qt += http

· zip.obj unresolved external symbol

· o 

函式名稱前加

「z_」

· 'setnumdigits' : is not a member of 'qlcdnumber'

· o 

setnumdigits -->

setdigitcount

· qstring::toascii()

,和fromascii()廢棄

·  o 使用

qstring::tolatin1()

,和fromlatin1()

· 去掉引數

· qt_wa廢棄

·  o 若需要時自行定義:

#if qt_version >= 0x050000

#define qt_wa(unicode, ansi) unicode

#endif

· 庫名變更

· o 

版本號放在前面。如:

qtcore4.dll --> qt5core.dll

o 如:/delayload:"qt5script.dll" \

/delayload:"qt5scripttools.dll" \

/delayload:"qt5xmlpatterns.dll" \

/delayload:"qt5xml.dll"

· qstring::fromutf16

等函式,引數型別需做強制轉換

· o 

使用(const ushort *)

強制轉換

· qurl::encodedhost()廢棄

·  o 使用

qurl::toace(url.host())

· 函式引數

hwnd

和wid

之間需做強制型別轉換

· o 

如:setwindowpos((hwnd)w->winid(), hwnd_topmost, 0, 0, 0, 0,swp_nomove | swp_nosize)

· getvolumeinformation

函式引數需強制型別轉換

· o 

如:getvolumeinformation((lpctstr)drive, (lptstr)volumes, 256 - 1, null, null, null, null, 0 )

· wslen

函式引數需做強制型別轉換

· o 

如:wcslen((const wchar_t *)volumes)

· qstdwstring廢棄

·  o 使用

std::basic_string

· qurlquery..queryitemvalue()廢棄

·  o 使用如下方式

qurlquery query(url);

return query.queryitemvalue(key);

· qurlquery..queryitems()廢棄

·  o 解決方式同

qurlquery..queryitemvalue()

問題。

· qurlquery..setqueryitems()廢棄

·  o 解決方式同

qurlquery..queryitemvalue()

問題。

· qpixmap alphachannel()廢棄

qt 5 

部署問題:

,編譯並部署

· 增加qt.conf

檔案,指定

qt路徑

以上內容有同事gxd整理

原創 QT4公升級到QT5

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

qt4公升級到qt5的一些問題

由於最近專案使用的qt版本從qt4.8公升級到qt5.5,雖然從4到5的變化不大,不過還是有許多的問題需要記錄一下,希望可以幫助到更多的人 1 由於qt5將大部分桌面部件移到了qt widgets模組中 因此在保護qtgui的地方需要包含qtwidgets模組 2 亂碼問題。方式針對vs,由於win...

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...