/****************************************************************************
**
** 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 qdeclarativeexamples.html
  \title QML Examples and Demos
  \brief Building UIs with QML
  \ingroup all-examples


Qt includes a set of examples and demos that show how to use various aspects
of QML. The examples are small demonstrations of particular QML components,
while the demos contain more complete and functional applications.

To run the examples and demos, open them in Qt Creator or use the included
\l {QML Viewer} tool. The \l {QML Viewer} can be run from the command line:

\code
    qmlviewer $QTDIR/demos/declarative/samegame/samegame.qml
\endcode

On OS X, you can run the included "QMLViewer" application from the
Finder, or use the command line:

\code
    QMLViewer.app/Contents/MacOS/QMLViewer $QTDIR/demos/declarative/samegame/samegame.qml
\endcode


\section1 Demos

The QML demos integrate a variety of features to demonstrate how QML
can be used to produce sophisticated interfaces and applications:


\table
\row

\li
\l{demos/declarative/calculator}{Calculator}
\image qml-calculator-example-small.png

\li
\l{demos/declarative/flickr}{Flickr Mobile}
\image qml-flickr-demo-small.png

\li
\l{demos/declarative/minehunt}{Minehunt}
\image qml-minehunt-demo-small.png

\row

\li
\l{demos/declarative/photoviewer}{Photo Viewer}
\image qml-photoviewer-demo-small.png

\li
\l{demos/declarative/rssnews}{RSS News Reader}
\image qml-rssnews-demo-small.png

\li
\l{demos/declarative/samegame}{Same Game}
\image qml-samegame-demo-small.png

\row

\li
\l{demos/declarative/snake}{Snake}
\image qml-snake-demo-small.png

\li
\l{demos/declarative/twitter}{Twitter}
\image qml-twitter-demo-small.png

\li
\l{demos/declarative/webbrowser}{Web Browser}
\image qml-webbrowser-demo-small.png

\endtable

The demos can be found in Qt's \c demos/declarative directory.


\section1 Examples

The QML examples are small, simple applications that show how to use a particular
QML component or feature. If you are new
to QML, you may also find the \l{QML Tutorial}{Hello World} and
\l {QML Advanced Tutorial}{Same Game} tutorials useful.

The examples can be found in Qt's \c examples/declarative directory.

\section2 Animation
\list
\li \l{declarative/animation/basics/color-animation}{Color Animation}
\li \l{declarative/animation/behaviors/behavior-example}{Behaviors}
\li \l{declarative/animation/easing}{Easing}
\li \l{declarative/animation/basics/property-animation}{Property Animation}
\li \l{declarative/animation/states}{States}
\li \l{declarative/animation/behaviors/wigglytext}{Wiggly Text}
\endlist

\section2 Image Elements
\list
\li \l{declarative/imageelements/borderimage}{BorderImage}
\li \l{declarative/imageelements/image}{Image}
\endlist

\section2 Text
\list
\li \l{declarative/text/fonts}{Fonts}
\li \l{declarative/text/textselection}{Text Selection}
\endlist

\section2 Positioners
\list
\li \l{declarative/positioners}{Example}
\endlist

\section2 Key Interaction
\list
\li \l{declarative/keyinteraction/focus}{Focus}
\endlist

\section2 Touch Interaction
\list
\li \l{declarative/touchinteraction/mousearea}{MouseArea}
\endlist

\section2 UI Components
\list
\li \l{declarative/ui-components/dialcontrol}{Dial control}
\li \l{declarative/ui-components/flipable}{Flipable}
\li \l{declarative/ui-components/progressbar}{Progress bar}
\li \l{declarative/ui-components/scrollbar}{Scroll bar}
\li \l{declarative/ui-components/searchbox}{Search box}
\li \l{declarative/ui-components/slideswitch}{Slide switch}
\li \l{declarative/ui-components/spinner}{Spinner}
\li \l{declarative/ui-components/tabwidget}{Tab widget}
\endlist

\section2 Toys
\list
\li \l{declarative/toys/clocks}{Clocks}
\li \l{declarative/toys/corkboards}{Corkboards}
\li \l{declarative/toys/dynamicscene}{Dynamic Scene}
\li \l{declarative/toys/tic-tac-toe}{Tic Tac Toe}
\li \l{declarative/toys/tvtennis}{TV Tennis}
\endlist

\section2 Models and Views
\list
\li \l{declarative/modelviews/gridview}{GridView}
\li \l{Models and Views: ListView Examples}{ListView}
\li \l{declarative/modelviews/pathview}{PathView}
\li \l{declarative/modelviews/package}{Package}
\li \l{declarative/modelviews/parallax}{Parallax}
\li \l{declarative/modelviews/visualitemmodel}{VisualItemModel}

\li \l{declarative/modelviews/stringlistmodel}{String ListModel}
\li \l{declarative/modelviews/objectlistmodel}{Object ListModel}
\li \l{declarative/modelviews/abstractitemmodel}{AbstractItemModel}

\li \l{Models and Views: WebView Examples}{WebView}
\endlist

\section2 XML
\list
\li \l{declarative/xml/xmlhttprequest}{XmlHttpRequest}
\endlist

\section2 Internationalization (i18n)
\list
\li \l{declarative/i18n}{Example}
\endlist

\section2 Right-to-left User Interfaces
\list
\li \l{declarative/righttoleft/layoutmirroring}{Layout mirroring}
\li \l{declarative/righttoleft/layoutdirection}{Layout direction}
\li \l{declarative/righttoleft/textalignment}{Text alignment}
\endlist

\section2 Threading
\list
\li \l{declarative/threading/threadedlistmodel}{Threaded ListModel}
\li \l{declarative/threading/workerscript}{WorkerScript}
\endlist

\section2 Screen Orientation
\list
\li \l{declarative/screenorientation}{Example}
\endlist

\section2 SQL Local Storage
\list
\li \l{declarative/sqllocalstorage}{Example}
\endlist

\section2 C++ Extensions
\list
\li \l{declarative-cppextensions-reference.html}{Reference examples}
\li \l{declarative/cppextensions/plugins}{Plugins}
\li \l{declarative-cppextensions-qgraphicslayouts.html}{QGraphicsLayouts}
\li \l{declarative/cppextensions/qwidgets}{QWidgets}
\li \l{declarative/cppextensions/imageprovider}{Image provider}
\li \l{declarative/cppextensions/networkaccessmanagerfactory}{Network access manager factory}
\endlist


\section1 Labs

\list
\li \l{src/imports/folderlistmodel}{Folder List Model} - a C++ model plugin
\li \l{declarative/shadereffects}{Shader Effects}
\endlist

*/

