aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/doc/src/appdevguide/applicationdevelopers.qdoc
blob: 52a759125775ef9b15fc52677cf878935cef5380 (plain)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** 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 Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/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$
**
****************************************************************************/

/*
XXX

The "QML Intro" section has been temporarily removed, as it includes mostly
outdated information.  However, it has some pertinent information, so we
should review it and extract the useful documentation at some point, for
inclusion somewhere in the documentation.  In particular, the documentation
related to using QtCreator for QML development seems useful.

\li \l{qml-intro.html}{Introduction to QML Application Development}
*/

/*!
\page qtquick-applicationdevelopers.html
\title QML Application Developer Resources
\brief Essential documentation for QML application developers

QML is a declarative language that allows user interfaces to be described in
terms of their visual components and how they interact and relate with one
another.  It is a highly readable language that was designed to enable
components to be interconnected in a dynamic manner, and it allows components
to be easily reused and customized within a user interface.  Using the
\c QtQuick module, designers and developers can easily build fluid animated
user interfaces in QML, and have the option of connecting these user
interfaces to any back-end C++ libraries.

This page links to all the information you need to start developing
applications with \l{Qt QML}{QML} and \l{Qt Quick}.

\section2 Other QML modules

Qt Quick only provides basic visual types, much of Qt's functionality is exposed to QML
through other modules. If you require the functionality of those modules, you should browse
their QML documentation. Qt Essentials modules exposing QML types include:

\list
\li \c Qt3D for 3D graphics rendering.
\li \c QtSensors for using device sensors such as accelerometers.
\li \c QtMultimedia for playing and managing multimedia content and cameras.
\li \c QtLocation for using GPS and mapping data.
\li \c QtSystems for reading system info and interacting with services.
\li \c QtWebkit for rendering web content.
\li \c QtPim for interacting with contact and calendar information.
\endlist

\section1 Quick Start

\list
\li \l{qtquick-quickstart-basics.html}{QML Basics}
    \list
    \li \l{qtquick-quickstart-basics.html#creating-a-qml-document}{Creating a QML Document}
    \li \l{qtquick-quickstart-basics.html#loading-and-displaying-the-qml-document}{Loading and Displaying the QML Document}
    \endlist
\li \l{qtquick-quickstart-essentials.html}{QML Essentials}
    \list
    \li \l{qtquick-quickstart-essentials.html#handling-user-input}{Handling User Input}
    \li \l{qtquick-quickstart-essentials.html#property-bindings}{Property Bindings}
    \li \l{qtquick-quickstart-essentials.html#animations}{Animations}
    \li \l{qtquick-quickstart-essentials.html#defining-custom-qml-types-for-re-use}{Defining Custom QML Types for Re-use}
    \endlist
\endlist

\section1 Features And Use-Case Solutions

\list
\li \l{qtquick-usecase-visual.html}{Visual Elements in QML}
\li \l{qtquick-usecase-userinput.html}{Responding to User Input in QML}
\li \l{qtquick-usecase-animations.html}{Animations in QML}
\li \l{qtquick-usecase-text.html}{Displaying Text in QML}
\li \l{qtquick-usecase-layouts.html}{Layouts in QML}
\li \l{qtquick-usecase-styling.html}{Style and Theme Support}
\li \l{qtquick-usecase-integratingjs.html}{Integrating JavaScript in QML}
\endlist


\section1 In-Depth Documentation

\section2 What is QML?

QML is a user interface specification and programming language.
It allows developers and designers alike to create highly performant, fluidly
animated and visually appealing applications.  QML offers a highly readable,
declarative, JSON-like syntax with support for imperative JavaScript
expressions combined with dynamic property bindings.

The QML language and engine infrastructure is provided by the \l {Qt QML} module.
For in-depth information about the QML language, please see the
\l{Qt QML} module documentation.

\section2 What is Qt Quick?

Qt Quick is the standard library of types and functionality for QML.  It
includes visual elements, interactive elements, animations, models and views,
particle effects and shader effects.  A QML application developer can get
access to all of that functionality with a single import statement.

The \c QtQuick QML library is provided by the \l{Qt Quick} module.
For in-depth information about the various QML types and other functionality
provided by Qt Quick, please see the \l{Qt Quick} module documentation.

\section1 Advanced Application Development Topics

\list
\li \l{qtquick-deployment.html}{Deploying QML Applications}
\li \l{qtquick-performance.html}{Performance Considerations and Suggestions}
\li \l{qtquick-internationalization.html}{Internationalization and Localization}
\li Testing and Debugging
    \list
    \li \l{qtquick-qmlscene.html}{Prototyping with qmlscene}
    \li \l{qtquick-debugging.html}{Debugging QML Applications}
    \li \l{qtquick-qtquicktest.html}{QtQuickTest: QML Unit Testing Framework}
    \endlist
\li \l{qml-codingconventions.html}{QML Coding Conventions}
\li \l{qtquick-glossary.html}{Glossary of Terms}
\endlist

\section1 Release Notes and Porting Guides

\list
\li \l{Qt QML Release Notes}
\li \l{Qt Quick Release Notes}
\li \l{Porting QML Applications to Qt 5}
\endlist

*/