summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/declarativeui.qdoc
blob: a2a5283cdcf7f4a2d3d97673cbfde61e341281d2 (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
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights.  These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\title Declarative UI (QML)
\page declarativeui.html

\brief The Qt Declarative module provides a declarative framework for building
highly dynamic, custom user interfaces.

Qt Declarative UI provides a declarative framework for building highly dynamic, custom
user interfaces.  Declarative UI helps programmers and designers collaborate to build
the animation rich, fluid user interfaces that are becoming common in portable
consumer devices, such as mobile phones, media players, set-top boxes and netbooks.
The Qt Declarative module provides an engine for interpreting the declarative QML
language, and a rich set of \l {QML Elements}{QML elements} that can be used
from QML.

QML is an extension to \l {http://www.ecma-international.org/publications/standards/Ecma-262.htm}
{JavaScript}, that provides a mechanism to declaratively build an object tree
of QML elements.  QML improves the integration between JavaScript and Qt's
existing QObject based type system, adds support for automatic
\l {Property Binding}{property bindings} and provides \l {Network Transparency}{network transparency} at the language
level.

The QML elements are a sophisticated set of graphical and behavioral building
blocks.  These different elements are combined together in \l {QML Documents}{QML documents} to build components
ranging in complexity from simple buttons and sliders, to complete
internet-enabled applications like a \l {http://www.flickr.com}{Flickr} photo browser.

Qt Declarative builds on \l {QML for Qt programmers}{Qt's existing strengths}.
QML can be be used to incrementally extend an existing application or to build
completely new applications.  QML is fully \l {Extending QML in C++}{extensible from C++}.

\section1 Getting Started:
\list
\o \l {Introduction to the QML language}
\o \l {QML Tutorial}{Tutorial: 'Hello World'}
\o \l {QML Advanced Tutorial}{Tutorial: 'Same Game'}
\o \l {QML Examples and Walkthroughs}
\o \l {Using QML in C++ Applications}
\o \l {QML for Qt programmers}
\endlist

\section1 Core QML Features:
\list
\o \l {QML Documents}
\o \l {Property Binding}
\o \l {Integrating JavaScript}
\o \l {QML Scope}
\o \l {Network Transparency}
\o \l {Data Models}
\o \l {anchor-layout.html}{Anchor-based Layout}
\o \l {qdeclarativestates.html}{States}
\o \l {qdeclarativeanimation.html}{Animation}
\o \l {qdeclarativemodules.html}{Modules}
\o \l {qdeclarativefocus.html}{Keyboard Focus}
\o \l {Extending types from QML}
\o \l {Dynamic Object Creation}
\o \l {qmlruntime.html}{The Qt Declarative Runtime}
\endlist

\section1 Reference:
\list
\o \l {QML Elements}
\o \l {QML Global Object}
\o \l {Extending QML in C++}
\o \l {Integrating QML with existing Qt UI code}
\o \l {QML Internationalization}
\o \l {QML Security}
\o \l {QtDeclarative Module}
\o \l {Debugging QML}
\o \l {QML Coding Conventions}
\endlist
*/