参考链接:
QtDoc 5.0: C++ API changes
https://qt-project.org/doc/qt-5.0/qtdoc/sourcebreaks.html
The Transition from Qt 4.x to Qt 5
http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5#846d0d314d8d4894bde364f45acf02e4
Qt Upgrade to 5.2
http://tabbycoder.com/index.php/blog-home/qt/32-qt-5-2-upgrade
Qt 5 编译问题:
· 新增QtWidgets模块
·
o 头文件包含<QtWidgets>,代替原有的 <QtGui/QFrame>等。
o .pro文件中Qt += widgets
· 新增QtWetKitWidgets模块
·
o 头文件包含<QtWebKitWidgets>
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 *)
· 'UnicodeUTF8' : is not a member of 'QApplication'
·
o 去掉“QApplication::UnicodeUTF8”参数
· Q_WS_XXX废弃,造成.lib文件无法生成
·
o Q_WS_XXX 替换成Q_OS_XXX
o Q_WS_X11替换成Q_OS_UNIX
· QFtp不支持
·
o 下载QtFtp add-on
o 编译并install到UDE Qt5.2目录
o 头文件包含#include <QtHttp/qftp.h>
o .pro文件中Qt += ftp
· QHttp不支持
·
o 下载QHttpadd-on
o 编译并install到UDE Qt5.2目录
o 头文件包含#include <QtHttp/qhttp.h>
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()
· QString str = QApplication::translate("", "", 0, QApplication::UnicodeUTF8)去掉QApplication::UnicodeUTF8参数
· 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<wchar_t>
· QUrlQuery..queryItemValue()废弃
·
o 使用如下方式
QUrlQuery query(url);
return query.queryItemValue(key);
· QUrlQuery..queryItems()废弃
·
o 解决方式同QUrlQuery..queryItemValue()问题。
· QUrlQuery..setQueryItems()废弃
·
o 解决方式同QUrlQuery..queryItemValue()问题。
· QPixmap alphaChannel()废弃
Qt 5 部署问题:
· 下载QtHttp add-on,编译并部署
· 增加qt.conf文件,指定qt路径
以上内容有同事gxd整理