/usr/share/qt5/doc/qtdoc/portingqmlapp.html is in qt5-doc-html 5.3.2-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- portingqmlapp.qdoc -->
<title>Porting QML Applications to Qt 5 Example | QtDoc 5.3</title>
<link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
<div class="main">
<div class="main-rounded">
<div class="navigationbar">
<ul>
<li><a href="index.html">Qt 5.3</a></li>
<li>Porting QML Applications to Qt 5 Example</li>
<li id="buildversion">
Qt 5.3.2 Reference Documentation</li>
</ul>
</div>
</div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#related-topics">Related Topics</a></li>
</ul>
</div>
<h1 class="title">Porting QML Applications to Qt 5 Example</h1>
<span class="subtitle"></span>
<!-- $$$portingqmlapp.html-description -->
<div class="descr"> <a name="details"></a>
<p>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 <a href="qtquick-porting-qt5.html">Porting QML Applications to Qt 5</a>.</p>
<p>This topic will walk through the porting process to make the <tt>flickr</tt> 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 <tt><install_dir_root>/Examples/4.x/declarative/demos/</tt>.</p>
<p>Follow these step-by-step instructions to port the <i>flickr</i> Qt 4 QML application work to Qt 5:</p>
<ol class="1">
<li>Open the <i>flickr</i> project using Qt Creator.</li>
<li>Edit all the <tt>.qml</tt> files and replace the <tt>import QtQuick 1.0</tt> statements with <tt>import QtQuick 2.3</tt>.</li>
<li>Add the additional <tt>import QtQuick.XmlListModel 2.0</tt> statement to <tt>qml/common/RssModel.qml</tt>.<p><b>Note: </b><a href="../qtquick/qtquick-xmllistmodel-qmlmodule.html">XmlListModel</a> is part of a submodule under <tt>QtQuick</tt> and it must be imported explicitly in order to use it.</p></li>
<li>Make the following changes to <tt>qmlapplicationviewer/qmlapplicationviewer.h</tt>:<ul>
<li>Replace the <tt>#include <QtDeclarative/QDeclarativeView></tt> with <tt>#include <QQuickView></tt>.</li>
<li>Replace <tt>QDeclarativeView</tt> with <tt>QQuickView</tt> in the class declaration for <tt>QmlApplicationViewer</tt>.</li>
<li>Replace the parameter for <tt>QmlApplicationViewer</tt> constructor from <tt>QWidget</tt> to <tt>QWindow</tt>.</li>
</ul>
</li>
<li>Make the following changes to <tt>qmlapplicationviewer/qmlapplicationviewer.cpp</tt>:<ul>
<li>Replace all the <tt>QtCore</tt> and <tt>QtDeclarative</tt> include statements with these:<pre class="cpp"><span class="preprocessor">#include <QCoreApplication></span>
<span class="preprocessor">#include <QDir></span>
<span class="preprocessor">#include <QFileInfo></span>
<span class="preprocessor">#include <QQmlComponent></span>
<span class="preprocessor">#include <QQmlEngine></span>
<span class="preprocessor">#include <QQmlContext></span>
<span class="preprocessor">#include <QDebug></span></pre>
</li>
<li>Replace all instances of <tt>QWidget</tt> with <tt>QWindow</tt>, and <tt>QDeclarativeView</tt> with <tt>QQuickView</tt>.</li>
<li>Remove the code between <tt>#if defined(Q_OS_SYMBIAN)</tt> and <tt>#endif</tt> macros as Symbian platform is not supported in Qt 5.</li>
<li>Remove the code between <tt>#if QT_VERSION < 0x040702</tt> and <tt>#else</tt>, and <tt>#endif // QT_VERSION < 0x040702</tt> macros towards the end.</li>
</ul>
</li>
<li>Save changes to the project and run the application.</li>
</ol>
<p>Once you see the application running, check whether it behaves as expected. Here is a snapshot of the application running on Ubuntu v12.04:</p>
<p class="centerAlign"><img src="images/flickr_application.png" alt="" /></p><a name="related-topics"></a>
<h2>Related Topics</h2>
<p><a href="qtquick-porting-qt5.html">Porting QML Applications to Qt 5</a></p>
</div>
<!-- @@@portingqmlapp.html -->
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<p>
<acronym title="Copyright">©</acronym> 2014 Digia Plc and/or its
subsidiaries. Documentation contributions included herein are the copyrights of
their respective owners.<br> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br> Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners. </p>
</div>
</body>
</html>
|