把 C++ 应用程序移植到 Qt5

This topic talks about the Qt Widgets changes in Qt 5. The following step-by-step instructions take you through the changes required to port the Animated Tiles application to Qt 5:

  1. Open the Animated Tiles project using Qt Creator.
  2. 编辑 main.cpp and replace the #include <QtGui> 实例与 #include <QtWidgets> . The Perl-script fixqt4headers.pl can be used to scan the source files of a project and perform the replacements.
  3. Edit the animatedtiles.pro and add QT += widgets towards the end of the file.

    注意: Qt GUI is included by default in all Qt applications unless excluded using the QT -= gui directive in the qmake project file.

  4. Save the changes and run the application.

Once you see the application running, check whether it behaves as expected.

"A snapshot of the \c animatedtiles application running on Ubuntu v12.04"

It is also possible to keep the project compiling with Qt 4 and Qt 5. This requires:

  1. Omitting the module name from all includes by running the fixqt4headers.pl script with the --strip-modules 选项。
  2. Adding scopes depending on the version of Qt to the .pro files:
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    						
  3. Introducing #if scopes around code using modified API:
    #if QT_VERSION >= 0x050000
    headerView
    
    -
    
    
    >
    
    setSectionResizeMode(
    
    
    QHeaderView
    
    
    
    ::
    
    ResizeToContents);
    
    #else
    
    headerView
    
    -
    
    
    >
    
    setResizeMode(
    
    
    QHeaderView
    
    
    
    ::
    
    ResizeToContents);
    
    #endif
    
    						

if you are using Qt WebKit ,见 Qt WebKit to Qt WebEngine porting instructions.