Qt4到Qt5
来源:互联网 发布:软件下载网站排名 编辑:程序博客网 时间:2024/05/07 10:26
vs2010+sp1
1.涉及到QtGui头文件的替换成QtWidgets,并且pro中加入:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
2.当前目录的子目录包含父目录的头文件应该是:#include "../test.h",如果想这样写#include "test.h",需要在
pro中加入:INCLUDEPATH += $$PWD
3.QtMsgHandler替换为QtMessageHandler
4.Log4Qt替换成新版本使其支持Qt5:https://github.com/devbean/log4qt/tree/master/src/log4qt
5.qftp, qhttp在Qt5里面去掉了,如果不想改动自己代码的话,需要在网上下载自己编译。
6.toAscii,fromAscii改为 toLatin1,fromLatin1
7.Qt5支持json,去掉qjson库,代码要改写。
10.QWebFrame,QWebView,pro中加入webkitwidgets有这个模块widgets就不需要了,头文件
#include <QtWebKitWidgets/QWebFrame>
#include <QtWebKitWidgets/QWebView>
11.windows.h该为qt_windows.h
12.QApplication::translate去掉最后的参数QApplication::UnicodeUTF8
13.Q_EXPORT_PLUGIN,Q_EXPORT_PLUGIN2宏过时了,
使用新宏Q_PLUGIN_METADATA,参考:http://blog.csdn.net/tujiaw/article/details/37989519
14.QUrl改用:
QUrlQuery params;
params.addQueryItem("ids",memberList.join(","));
data = params.query(QUrl::FullyEncoded).toUtf8();
15.去掉qxtglobalshortcut
16.Project WARNING: CONFIG+=qaxcontainer is deprecated. Use QT+=axcontainer instead.
17.QPrinter替换为pro加入printsupport
18.QString docDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation);
替换为:QString docDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
19.winEvent替换成nativeEvent
20.如果ui文件没有生成对应的ui_**.h头文件可以用,qt命令行工具到执行目录下执行:uic.exe name.ui -o ui_name.h
21.vs2010+sp1解决中文乱码问题:#pragma execution_character_set("utf-8"),注意其源码文件如果含中文要改成ansi或unicode
22.支持QJson:
namespace json
{
QVariantMap toMap(const QByteArray &val)
{
QJsonParseError jError;
QJsonDocument jDoc = QJsonDocument::fromJson(val, &jError);
if (jError.error == QJsonParseError::NoError) {
if (jDoc.isObject()) {
QJsonObject jObj = jDoc.object();
return jObj.toVariantMap();
}
}
QVariantMap ret;
return ret;
}
QString toString(const QVariantMap &val)
{
QJsonObject jobj = QJsonObject::fromVariantMap(val);
QJsonDocument jdoc(jobj);
return QString(jdoc.toJson());
}
}
23.TabWidget标签隐藏
ui->tabWidget->findChildren<QTabBar*>().at(0)->hide();
24.有时候resizeEvent执行比构造函数还早???
25.Qt creator生成obj中间文件
win32:CONFIG(release, debug|release): OBJECTS_DIR = $$PWD/release
else:win32:CONFIG(debug, debug|release): OBJECTS_DIR = $$PWD/debug
1.涉及到QtGui头文件的替换成QtWidgets,并且pro中加入:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
2.当前目录的子目录包含父目录的头文件应该是:#include "../test.h",如果想这样写#include "test.h",需要在
pro中加入:INCLUDEPATH += $$PWD
3.QtMsgHandler替换为QtMessageHandler
4.Log4Qt替换成新版本使其支持Qt5:https://github.com/devbean/log4qt/tree/master/src/log4qt
5.qftp, qhttp在Qt5里面去掉了,如果不想改动自己代码的话,需要在网上下载自己编译。
6.toAscii,fromAscii改为 toLatin1,fromLatin1
7.Qt5支持json,去掉qjson库,代码要改写。
10.QWebFrame,QWebView,pro中加入webkitwidgets有这个模块widgets就不需要了,头文件
#include <QtWebKitWidgets/QWebFrame>
#include <QtWebKitWidgets/QWebView>
11.windows.h该为qt_windows.h
12.QApplication::translate去掉最后的参数QApplication::UnicodeUTF8
13.Q_EXPORT_PLUGIN,Q_EXPORT_PLUGIN2宏过时了,
使用新宏Q_PLUGIN_METADATA,参考:http://blog.csdn.net/tujiaw/article/details/37989519
14.QUrl改用:
QUrlQuery params;
params.addQueryItem("ids",memberList.join(","));
data = params.query(QUrl::FullyEncoded).toUtf8();
15.去掉qxtglobalshortcut
16.Project WARNING: CONFIG+=qaxcontainer is deprecated. Use QT+=axcontainer instead.
17.QPrinter替换为pro加入printsupport
18.QString docDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation);
替换为:QString docDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
19.winEvent替换成nativeEvent
20.如果ui文件没有生成对应的ui_**.h头文件可以用,qt命令行工具到执行目录下执行:uic.exe name.ui -o ui_name.h
21.vs2010+sp1解决中文乱码问题:#pragma execution_character_set("utf-8"),注意其源码文件如果含中文要改成ansi或unicode
22.支持QJson:
namespace json
{
QVariantMap toMap(const QByteArray &val)
{
QJsonParseError jError;
QJsonDocument jDoc = QJsonDocument::fromJson(val, &jError);
if (jError.error == QJsonParseError::NoError) {
if (jDoc.isObject()) {
QJsonObject jObj = jDoc.object();
return jObj.toVariantMap();
}
}
QVariantMap ret;
return ret;
}
QString toString(const QVariantMap &val)
{
QJsonObject jobj = QJsonObject::fromVariantMap(val);
QJsonDocument jdoc(jobj);
return QString(jdoc.toJson());
}
}
23.TabWidget标签隐藏
ui->tabWidget->findChildren<QTabBar*>().at(0)->hide();
24.有时候resizeEvent执行比构造函数还早???
25.Qt creator生成obj中间文件
win32:CONFIG(release, debug|release): OBJECTS_DIR = $$PWD/release
else:win32:CONFIG(debug, debug|release): OBJECTS_DIR = $$PWD/debug
0 2
- Qt4到Qt5
- qt4项目到qt5
- QT4 升级到 QT5 改动:
- 从QT4 升级到 QT5
- QT4到QT5的变化!
- Qt5 与 Qt4变化(从Qt4变迁到Qt5)
- qt4移植到qt5注意点
- QT4升级到Qt5各种问题
- Qt4的项目迁移到qt5
- qt4到qt5使用qsqltablemodel的变化
- 从Qt4 到Qt5的变化
- 从Qt4 到Qt5.2的变化
- Qt4程序移植到Qt5的问题
- QT4 升级到 QT5项目 问题
- Qt4/Qt5 qDebug输出到文件
- qt4 代码迁移到qt5上方法
- qt4 Q_EXPORT_PLUGIN2 到qt5 Q_PLUGIN_METADATA变化
- QT4项目移植到QT5项目的方法
- 【欧拉函数】 HDOJ 2588 GCD
- Linux的五个查找命令:find,locate,whereis,which,type
- Android Studio安装、配置
- JavaSE - Java发展概述
- 仿支付宝账单统计图(饼图)
- Qt4到Qt5
- uva 10282(哈希)
- 仿携程自定义数据下拉选择select
- Bootstrap可视化布局
- Android GridView 设置指定项被选中的背景图片并滚动到指定项(如果带有滚动条) .
- 使用UMeng微博授权失败,报错error:redirect_uri_mismatch
- Common Sentences for Scientific Writing (11 Noun Phase)
- 2015届华为软件研发面试经验(提前批)
- java多线程总结之:线程池的原理及实现