summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/qtdeclarative.qdoc
blob: 1581e3da0456703761fb360fc450db1933cf2ef2 (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
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
** Beta Release License Agreement.
**
** 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.0, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at qt-sales@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\module QtDeclarative
\title QtDeclarative Module
\ingroup modules

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

Qt Declarative aids programmers and designers in building the animation rich, 
highly fluid user interfaces that are becoming common in portable consumer 
electronics 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} that can be used 
from QML.

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

The \l {QML Elements} are a sophisticated set of graphical and behavioral building
blocks.  \l {QML Elements} are combined together in \l {QML Documents} to build components 
ranging in complexity from simple pushbuttons 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}{extensible from C++}.

\section1 Getting Started:
\list
\o \l {Introduction to the QML language}
\o \l {tutorial}{Tutorial: 'Hello World'}
\o \l {tutorials-declarative-contacts.html}{Tutorial: 'Introduction to QML'}
\o \l {advtutorial.html}{Advanced Tutorial: 'Same Game'}
\o \l {QML Examples}
\endlist

\section1 Core QML Features:
\list
\o \l {QML Documents}
\o \l {Property Binding}
\o \l {ECMAScript Blocks}
\o \l {Network Transparency}
\o \l {qmlmodels}{Data Models}
\o \l {anchor-layout}{Anchor-based Layout}
\o \l {qmlanimation}{Animation}
\o \l {qmlmodules}{Modules}
\o \l {qmlfocus}{Keyboard Focus}
\o \l {Extending types from QML}
\endlist

\section1 QML Reference:
\list
\o \l {QML Format Reference}
\o \l {QML Elements}
\endlist

\section1 C++ Reference:
\list
\o \l {Extending QML}
\o \l {qtbinding}{QML/C++ Data Binding}
\endlist
*/