/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing
**
** This file is part of Qt Creator
**
**
** GNU Free Documentation License
**
** 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.
**
**
****************************************************************************/

// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************

/*!

    \contentspage {Qt Creator Manual}
    \previouspage creator-visual-editor.html
    \page quick-projects.html
    \nextpage creator-quick-ui-forms.html

    \title Creating Qt Quick Projects

    \image qmldesigner-new-project.png "New File or Project dialog"

    When you create a new Qt Quick project from scratch, you have the following
    options:

    \list

        \li \uicontrol {Qt Quick Application} creates a Qt Quick application project
            that can contain both QML and C++ code. The project includes a
            QDeclarativeView or QQuickView. You can build the application and
            deploy it to
            desktop and mobile target platforms.

        \li \uicontrol {Qt Quick UI} creates a Qt Quick UI project with a single QML
            file that contains the main view. You can review Qt Quick UI
            projects in a \l{Previewing QML Files}{preview tool} and you need
            not build them. You do not
            need to have the development environment installed on your
            computer to create and run this type of project.

        \li \uicontrol {Qt Quick Extension Plugins} (in the \uicontrol Libraries category)
            create C++ plugins that make it possible to offer extensions that
            can be loaded dynamically into Qt Quick applications. Select
            \uicontrol {Qt Quick 1 Extension Plugin} to create extensions for
            Qt Quick 1 applications and \uicontrol {Qt Quick 2 Extension Plugin} to
            create extensions for Qt Quick 2 applications.

    \endlist

    \section1 Creating Qt Quick UI Projects

    The \uicontrol {Qt Quick UI} wizard is disabled by default.

    \list 1

        \li Select \uicontrol Help > \uicontrol Tools > \uicontrol {About Plugins} >
            \uicontrol {Qt Quick} > \uicontrol {QmlProjectManager} and restart \QC to show
            the wizard.

        \li Select \uicontrol File > \uicontrol {New File or Project} > \uicontrol Application >
            \uicontrol {Qt Quick UI} > \uicontrol Choose.

        \li In the \uicontrol {Qt Quick component set} field, select the component set
            to use for the project. The Qt Quick imports enable you to use the
            basic QML types to create user interfaces, whereas the Qt Quick
            Controls provide a set of ready-made controls that you can customize
            by using Qt Quick Controls Styles:

        \list

            \li Select \uicontrol {Qt Quick Controls} or \uicontrol {Qt Quick 2.1}, or
                later, to develop for platforms that run Qt 5.

            \li Select \uicontrol {Qt Quick 1.1} to develop for platforms that run
                Qt 4.7.4. To develop for platforms that run Qt 4.7.1, 4.7.2, or
                4.7.3, you must change the import statement to import Qt Quick
                1.0.

        \endlist

        You can add imports later to combine Qt Quick basic types with Qt Quick
        Controls, Qt Quick Dialogs, and Qt Quick Layouts (available since
        Qt 5.1).

    \endlist

    \QC creates the following files:

    \list

        \li .qmlproject project file defines that all QML, JavaScript, and image
            files in the project folder belong to the project. Therefore, you do
            not need to individually list all the files in the project.

        \li .qml file defines an UI item, such as a component, screen, or the
            whole application UI.

        \li .qml.ui files defines a form for the application UI. It is created
            if you select \uicontrol {Qt Quick Controls 1.3}, or later, or
            \uicontrol {Qt Quick 2.4}, or later. The forms can contain a subset of the
            QML language. Similarly as with the UI forms for \QD, it is
            recommended that you use \QMLD to edit the UI forms. For more
            information, see \l{Qt Quick UI Forms}.

    \endlist

    To use JavaScript and image files in the application, copy them to the
    project folder.

    \section1 Creating Qt Quick Applications

    \list 1

        \li Select \uicontrol File > \uicontrol {New File or Project} > \uicontrol Application >
            \uicontrol {Qt Quick Application} > \uicontrol Choose.

        \li In the \uicontrol {Qt Quick component set} field, select the component set
            to use for the project. For more information, see
            \l{Creating Qt Quick UI Projects}.

        \li Select \l{glossary-buildandrun-kit}{kits} for running and building
            your project, and then click \uicontrol{Next}.

            \note Kits are listed if they have been specified in \uicontrol Tools >
            \uicontrol Options > \uicontrol {Build & Run} > \uicontrol Kits.

        \li Review the project settings, and click \uicontrol{Finish} (on Windows and
            Linux) or \uicontrol Done (on OS X) to create the project.

    \endlist

    \note The SDK for a particular target platform might install additional
    templates for that platform. For example, the BlackBerry 10 and QNX templates are installed
    as part of the BlackBerry 10 NDK, BlackBerry NDK, or QNX SDK.

    \QC creates the necessary boilerplate files. Some of the files are
    specific to a particular target platform.

*/
