• Project Move from Qt 4 to Qt 5 项目工程的迁移


    将Qt4的项目迁到Qt5中并不需要新建一个Qt5的工程,可以直接在原工程文件上修改,这里我们使用的是VS2010和Qt5.4的环境,我们需要做以下修改:

    1. 在工程里找到这个文件:工程名.vcxproj.user,将里面的Qtdir路径修改为:C:Qt5.4msvc2010_opengl。我的是在C盘。

    2. 此时编译可能会有大量报错,主要是Qt5中模块的位置移动了很多,主要分下面三大块来修改:

    QtGui/
    
    #include <QMouseEvent> 改为 #include <QtGui/QMouseEvent>
    
    #include <QPalette> 改为 #include <QtGui/QPalette>
    
    #include <QKeyEvent> 改为 #include <QtGui/QKeyEvent>
    
    #include <QDesktopServices> 改为 #include <QtGui/QDesktopServices>
    
    #include <QImage> 改为 #include <QtGui/QImage>
    
    #include <QImageReader> 改为 #include <QtGui/QImageReader>
    
    
    QtCore/
    
    #include <QTimer> 改为 #include <QtCore/QTimer>
    
    #include <QDir> 改为 #include <QtCore/QDir>
    
    #include <QXmlStreamWriter> 改为 #include <QtCore/QXmlStreamWriter>
    
    #include <QSignalMapper> 改为 #include <QtCore/QSignalMapper>
    
    #include <QDebug> 改为 #include <QtCore/QDebug>
    
    #include <QUrl> 改为 #include <QtCore/QUrl>
    
    #include <QSettings> 改为 #include <QtCore/QSettings>
    
    #include <QFile> 改为 #include <QtCore/QFile>
    
    #include <QString> 改为 #include <QtCore/QString>
    
    #include <QCoreApplication> 改为 #include <QtCore/QCoreApplication>
    
    #include <QAbstractItemModel> 改为 #include <QtCore/QAbstractItemModel>
    
    #include <QStringList> 改为 #include <QtCore/QStringList>
    
    #include <QObject> 改为 #include <QtCore/QObject>
    
    
    QtWidgets/
    
    #include <QtGui/QApplication> 改为 #include <QtWidgets/QApplication>
    
    #include <QApplication> 改为 #include <QtWidgets/QApplication>
    
    #include <QFileDialog> 改为 #include <QtWidgets/QFileDialog>
    
    #include <QMessageBox> 改为 #include <QtWidgets/QMessageBox>
    
    #include <QLineEdit> 改为 #include <QtWidgets/QLineEdit>
    
    #include <QDialog> 改为 #include <QtWidgets/QDialog>
    
    #include <QDialogButtonBox> 改为 #include <QtWidgets/QDialogButtonBox>
    
    #include <QFormLayout> 改为 #include <QtWidgets/QFormLayout>
    
    #include <QVBoxLayout> 改为 #include <QtWidgets/QVBoxLayout>
    
    #include <QLabel> 改为 #include <QtWidgets/QLabel>
    
    #include <QMainWindow> 改为 #include <QtWidgets/QMainWindow>
    
    #include <QActionGroup> 改为 #include <QtWidgets/QActionGroup>
    
    #include <QSpinBox> 改为 #include <QtWidgets/QSpinBox>
    
    #include <QSlider> 改为 #include <QtWidgets/QSlider>
    
    #include <QMenu> 改为 #include <QtWidgets/QMenu>
    
    #include <QMenuBar> 改为 #include <QtWidgets/QMenuBar>
    
    #include <QToolBar> 改为 #include <QtWidgets/QToolBar>
    
    #include <QListWidget> 改为 #include <QtWidgets/QListWidget>
    
    #include <QInputDialog> 改为 #include <QtWidgets/QInputDialog>
    
    #include <QFormLayout> 改为 #include <QtWidgets/QFormLayout>
    
    #include <QDialogButtonBox> 改为 #include <QtWidgets/QDialogButtonBox>
    
    #include <QWidget> 改为 #include <QtWidgets/QWidget>

    可能还有些情况没有在上面列举出来,我们可以到C:Qt5.4msvc2010_openglinclude文件夹下搜索找不到的模块,然后将路径改正确即可。

    3. Change Qt::WFlags to Qt::WindowFlags

    4. 到Properties -> Linker -> Input -> Additional Dependencies 中删除原有的Qt4的lib,并加入下列Qt5的lib文件:

    Enginio.lib
    Qt5AxBase.lib
    Qt5AxContainer.lib
    Qt5Bluetooth.lib
    Qt5CLucene.lib
    Qt5Concurrent.lib
    Qt5Core.lib
    Qt5DBus.lib
    Qt5Declarative.lib
    Qt5Designer.lib
    Qt5DesignerComponents.lib
    Qt5Gui.lib
    Qt5Help.lib
    Qt5Location.lib
    Qt5Multimedia.lib
    Qt5MultimediaQuick_p.lib
    Qt5MultimediaWidgets.lib
    Qt5Network.lib
    Qt5Nfc.lib
    Qt5OpenGL.lib
    Qt5OpenGLExtensions.lib
    Qt5PlatformSupport.lib
    Qt5Positioning.lib
    Qt5PrintSupport.lib
    Qt5Qml.lib
    Qt5QmlDevTools.lib
    Qt5Quick.lib
    Qt5QuickParticles.lib
    Qt5QuickTest.lib
    Qt5QuickWidgets.lib
    Qt5Script.lib
    Qt5ScriptTools.lib
    Qt5Sensors.lib
    Qt5SerialPort.lib
    Qt5Sql.lib
    Qt5Svg.lib
    Qt5Test.lib
    Qt5UiTools.lib
    Qt5WebChannel.lib
    Qt5WebKit.lib
    Qt5WebKitWidgets.lib
    Qt5WebSockets.lib
    Qt5Widgets.lib
    Qt5WinExtras.lib
    Qt5Xml.lib
    Qt5XmlPatterns.lib
    qtmain.lib

  • 相关阅读:
    android开发之socket通信 向PC机发信息
    android:screenOrientation的说明
    java环境变量配置
    maven-webapp项目pom.xml配置
    maven设置本地仓库及配置阿里云镜像
    zxing生成二维码
    jQuery日期获取月和星期
    jquery实现导航栏分级切换
    servlet监听器统计在线人数
    xml配置utf-8编码过滤器
  • 原文地址:https://www.cnblogs.com/grandyang/p/6376450.html
Copyright © 2020-2023  润新知