一般的 Qt 4 程序要在 Qt 5 上编译,需要注意:
A. 将 main.cpp 文件中的 #include <QtGui/QApplication> 修改为 #include <QApplication>
B. 在 .pro 项目文件中添加: greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
原因是:Qt5里不再用QtGui模块,而是使用QtWidgets模块。
在 Qt 5 中设置应用程序图标,需要注意:
A. 将 .ico 图标文件放到项目源码目录
B. 在 .pro 文件中添加: RC_ICONS = myico.ico ( myico.ico 就是自己图标文件的名字)
发布Qt 5程序时,除了必要的dll文件以外,还需要将plugins中的platforms目录复制过来,而里面只要保留qminimal.dll和qwindows.dll两个文件即可。
Qt5 取消了 QTextCodec::setCodecForTr() 和 QTextCodec::setCodecForCString() 这两个函数。
直接将 QTextCodec::setCodecForLocale(QTextCodec::codecForName(“UTF8”)) 至于QApplication实例之前即可解决;
5、
程序中使用了OWC10,用到了ActiveQt,原来的做法是在.pro中加CONFIG += qaxcontainer,现在需要改成
QT += axcontainer
当然了,原来的 CONFIG += qaxcontainer 也将去除
6、
在源文件中,凡是涉及到原QtGui中可视部件的,全要修改头文件引用,或者增加QtWidgets头文件,比如:
#include <QtGui/QPushButton> 要改成 #include <QPushButton> 或者 #include <QtWidgets/QPushButton>
在以前使用#include <QtGui>的地方,要加上 #include <QtWidgets>
7、
以前使用 QDesktopServices::storageLocation(QDesktopServices::xxxx) 来获取一些系统目录,现在则要改成
QStandardPaths::writableLocation(QStandardPaths::xxxx)
8、
Qt5 取消了fromAscii() 和toAscii() ;请使用fromLatin1() 和toLatin1()来替代
9、
参考:修改
以上,会持续更新,欢迎指正和提意见