/**************************************************************************** ** ** Copyright (C) 2015 The Qt Company Ltd. ** Contact: http://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:FDL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see http://www.qt.io/terms-conditions. For further ** information use the contact form at http://www.qt.io/contact-us. ** ** GNU Free Documentation License Usage ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of ** this file. Please review the following information to ensure ** the GNU Free Documentation License version 1.3 requirements ** will be met: http://www.gnu.org/copyleft/fdl.html. ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! \page portingqmlapp.html \title Porting QML Applications to Qt 5 Example \brief Provides step-by-step instructions to port a QML application to Qt 5. The new version of Qt Quick in Qt 5 brings in some changes to the way QML applications are developed. For the complete list of changes that affect existing QML applications, refer to \l{Porting QML Applications to Qt 5}. This topic will walk through the porting process to make the \c{flickr} Qt 4 QML demo work on Qt 5. If you have the SDK based on Qt 4.8 installed, you can find this demo application under \c{/Examples/4.x/declarative/demos/}. Follow these step-by-step instructions to port the \e{flickr} Qt 4 QML application work to Qt 5: \list 1 \li Open the \e{flickr} project using Qt Creator. \li Edit all the \c{.qml} files and replace the \c{import QtQuick 1.0} statements with \c{import QtQuick 2.3}. \li Add the additional \c{import QtQuick.XmlListModel 2.0} statement to \c{qml/common/RssModel.qml}. \note \l{Qt Quick XmlListModel QML Types}{XmlListModel} is part of a submodule under \c{QtQuick} and it must be imported explicitly in order to use it. \li Make the following changes to \c{qmlapplicationviewer/qmlapplicationviewer.h}: \list \li Replace the \c{#include } with \c{#include }. \li Replace \c{QDeclarativeView} with \c{QQuickView} in the class declaration for \c{QmlApplicationViewer}. \li Replace the parameter for \c{QmlApplicationViewer} constructor from \c{QWidget} to \c{QWindow}. \endlist \li Make the following changes to \c{qmlapplicationviewer/qmlapplicationviewer.cpp}: \list \li Replace all the \c{QtCore} and \c{QtDeclarative} include statements with these: \code #include #include #include #include #include #include #include \endcode \li Replace all instances of \c{QWidget} with \c{QWindow}, and \c{QDeclarativeView} with \c{QQuickView}. \li Remove the code between \c{#if defined(Q_OS_SYMBIAN)} and \c{#endif} macros as Symbian platform is not supported in Qt 5. \li Remove the code between \c{#if QT_VERSION < 0x040702} and \c{#else}, and \c{#endif // QT_VERSION < 0x040702} macros towards the end. \endlist \li Save changes to the project and run the application. \endlist Once you see the application running, check whether it behaves as expected. Here is a snapshot of the application running on Ubuntu v12.04: \image flickr_application.png \section1 Related Topics \l{Porting QML Applications to Qt 5} */