Porting C++ Applications to Qt 5
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:
- Open the Animated Tiles project using Qt Creator.
- Edit
main.cppand replace the#include <QtGui>instance with#include <QtWidgets>. The Perl-scriptfixqt4headers.plcan be used to scan the source files of a project and perform the replacements. - Edit the
animatedtiles.proand addQT += widgetstowards the end of the file.Note: Qt GUI is included by default in all Qt applications unless excluded using the
QT -= guidirective in theqmakeproject file. - Save the changes and run the application.
Once you see the application running, check whether it behaves as expected.

It is also possible to keep the project compiling with Qt 4 and Qt 5. This requires:
- Omitting the module name from all includes by running the
fixqt4headers.plscript with the--strip-modulesoption. - Adding scopes depending on the version of Qt to the
.profiles:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
- Introducing
#ifscopes 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, see Qt WebKit to Qt WebEngine porting instructions.