Qt4升级Qt5的常见问题

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路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值