Qt 5 编译问题:
新增QtWidgets模块·
头文件包含<QtWidgets>,代替原有的 <QtGui/QFrame>等。
.pro文件中Qt += widgets
新增QtWetKitWidgets模块·
头文件包含<QtWebKitWidgets>
.pro文件中Qt += webkitwidgets
‘WFlags’ : is not a member of ‘Qt’·
WFlags --> WindowFlags
‘QString::fromUtf16’ : cannot convert parameter 1 from ‘wchar_t *’ to ‘const ushort *’·
C-style cast转换: (const ushort *)
‘UnicodeUTF8’ : is not a member of ‘QApplication’·
去掉“QApplication::UnicodeUTF8”参数
Q_WS_XXX废弃,造成.lib文件无法生成·
Q_WS_XXX 替换成Q_OS_XXX
Q_WS_X11替换成Q_OS_UNIX
QFtp不支持·
下载QtFtp add-on
编译并install到UDE Qt5.2目录
头文件包含#include <QtHttp/qftp.h>
.pro文件中Qt += ftp
QHttp不支持·
下载QHttpadd-on
编译并install到UDE Qt5.2目录
头文件包含#include <QtHttp/qhttp.h>
.pro文件中Qt += http
zip.obj unresolved external symbol·
函数名称前加“z_”
‘setNumDigits’ : is not a member of ‘QLCDNumber’·
setNumDigits -->setDigitCount
QString::toAscii(),和fromAscii()废弃·
使用QString::toLatin1(),和fromLatin1()
QString str = QApplication::translate(“”, “”, 0, QApplication::UnicodeUTF8)去掉QApplication::UnicodeUTF8参数
QT_WA废弃·
若需要时自行定义:
#if QT_VERSION >= 0x050000
#define QT_WA(unicode, ansi) unicode
#endif
库名变更·
版本号放在前面。如:QtCore4.dll --> Qt5Core.dll
如:/DELAYLOAD:"Qt5Script.dll" \
/DELAYLOAD:"Qt5ScriptTools.dll" \
/DELAYLOAD:"Qt5XmlPatterns.dll" \
/DELAYLOAD:"Qt5Xml.dll"
QString::fromUtf16等函数,参数类型需做强制转换·
使用(const ushort *)强制转换
QUrl::encodedHost()废弃·
使用QUrl::toAce(url.host())
函数参数HWND和WId之间需做强制类型转换·
如:SetWindowPos((HWND)w->winId(), HWND_TOPMOST, 0, 0, 0, 0,SWP_NOMOVE | SWP_NOSIZE)
GetVolumeInformation函数参数需强制类型转换·
如:GetVolumeInformation((LPCTSTR)drive, (LPTSTR)volumes, 256 - 1, NULL, NULL, NULL, NULL, 0 )
wslen函数参数需做强制类型转换·
如:wcslen((const wchar_t *)volumes)
QStdWString废弃·
使用std::basic_string<wchar_t>
QUrlQuery…queryItemValue()废弃·
使用如下方式
QUrlQuery query(url);
return query.queryItemValue(key);
QUrlQuery…queryItems()废弃·
解决方式同QUrlQuery..queryItemValue()问题。
QUrlQuery…setQueryItems()废弃·
解决方式同QUrlQuery..queryItemValue()问题。
QPixmap alphaChannel()废弃
Qt 5 部署问题:
下载QtHttp add-on,编译并部署
增加qt.conf文件,指定qt路径
Qt4升级Qt5的常见问题