qt4.8转qt5.4

1、头文件包含
    #include <QtGui/QProgressBar>
    #include <QtGui/QProgressDialog>
    #include <QtGui/QMessageBox>
    等类似包含QtGui的包含文件,全部将QtGui取消掉。即
    #include <QProgressBar>
    #include <QProgressDialog>
    #include <QMessageBox>
2、Qt::WFlags 替换为Qt::WindowFlags
3、qInstallMsgHandler 函数废弃
    可修改为: qInstallMessageHandler ,
    MessageOutput 要多加一个参数 : QMessageLogContext& Context
    void  MessageOutput( QtMsgType type, const QMessageLogContext& Context, const QString &sMsg )   
    QtMsgHandler  改为  QtMessageHandler
4、QDesktopServices::storageLocation(QDesktopServices::xxxx) 来获取一些系统目录,
    Qt5则要改成QStandardPaths::writableLocation(QStandardPaths::xxxx)。
5、error: 'UnicodeUTF8' is not a member of 'QApplication'
    原因是:QCoreApplication::UnicodeUTF8已被弃用
    解决方案如下:
    修改
    1
    setText(QApplication::translate("MainWindow", "&Quitar", 0, QApplication::UnicodeUTF8));
     为
    1
    setText(QApplication::translate("MainWindow", "&Quitar", 0);
6、toAscii() 和 fromAscii() 方法已经被舍弃
    可以使用 fromLatin1() 和 toLatin1() 代替
7、nullptr启用,改用为NULL
8、QHBoxLayout启用,可更改为QFrame
9、构建时发生如下错误:
    问题:error: undefined reference to `_imp__glClearColor@16'
    解决办法:这是相关库文件没有链接,在 .pro 文件中加入 openGL相关库即可:
                win32:LIBS += -lOpengl32 \
                                -lglu32 \
                                -lglut

上一篇:Day01_WebCrawler(网络爬虫)


下一篇:kvm虚拟机网络管理