从Qt 4到Qt 5需要修改的地方

1、
一般的  Qt 4  程序要在  Qt 5  上编译,需要注意:
A. 将  main.cpp  文件中的  #include     修改为  #include    
B. 在  .pro  项目文件中添加: greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
原因是:Qt5里不再用QtGui模块,而是使用QtWidgets模块。

2、
在  Qt 5  中设置应用程序图标,需要注意:
A.   .ico  图标文件放到项目源码目录
B. 在  .pro  文件中添加: RC_ICONS = myico.ico myico.ico 就是自己图标文件的名字)

3、
发布Qt 5程序时,除了必要的dll文件以外,还需要将plugins中的platforms目录复制过来,而里面只要保留qminimal.dllqwindows.dll两个文件即可。

4、

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   要改成  #include   或者  #include 

在以前使用#include 的地方,要加上 #include 


7、

以前使用 QDesktopServices::storageLocation(QDesktopServices::xxxx) 来获取一些系统目录,现在则要改成

 QStandardPaths::writableLocation(QStandardPaths::xxxx)


8、

Qt5 取消了fromAscii()toAscii() ;请使用fromLatin1() toLatin1()来替代


9、


参考:修改

以上,会持续更新,欢迎指正和提意见

你可能感兴趣的:(Qt)