您的位置:首页 > 编程语言 > Qt开发

QT5与之前版本间问题整理

2015-11-22 16:33 162 查看
参考链接:

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模块

·

头文件包含<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路径

以上内容有同事gxd整理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: