summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/declarativeui.qdoc
blob: b17d178ca788110fc9537d13f40d729511cbe77d (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
154
155
156
157
158
159
160
161
162
/****************************************************************************
**
** 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:FDL$
** 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 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.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\title Qt Quick
\page qtquick.html
\ingroup qt-gui-concepts

\brief Qt Quick provides a declarative framework for building highly
dynamic user interfaces.

\section1 Introduction

Qt Quick is a collection of technologies that are designed to help
developers create the kind of intuitive, modern, fluid user
interfaces that are increasingly used on mobile phones, media players,
set-top boxes and other portable devices.

Qt Quick consists of a rich set of user interface elements, a declarative
language for describing user interfaces and a language runtime. A collection
of C++ APIs is used to integrate these high level features with classic
Qt applications.

\section2 QML

User interfaces and their behavior are described using QML, an extension to
\l{About JavaScript}{JavaScript} that lets developers and designers
use a declarative syntax to specify each user interface in terms of
\l{QML Elements}{QML elements}. These elements are a sophisticated set of
graphical and behavioral building blocks that can be combined together in
\l{QML Documents}{QML documents} to build components ranging in complexity
from simple buttons and sliders, to complete Internet-enabled applications.

\section2 Qt Declarative Module

The Qt Declarative module provides a C++ API that is for interacting with QML files from within Qt applications. The module allows the programmer to build applications' backend logic using Qt.

QML and the Qt Declarative Module separate the frontend UI logic from the backend logic.

\section1 Getting Started

\list
\o \l{Intro to Qt Quick}{Introduction to Qt Quick}
\o \l{Introduction to the QML language}{Introduction to the QML Language}
\o \l{QML for Qt Programmers}{QML Programming for Qt Programmers}
\o \l{Getting Started Programming with QML}
\o \l{What's new in Qt Quick}{What's New in the Qt Quick Release}
\endlist

\section1 QML Features

\list
\o \l{Property Binding}
\o \l{Using QML Positioner and Repeater Items}{Component Layouts}
\o \l{Anchor-based Layout in QML}{Anchor Layout}
\o \l{Writing QML Components: Properties, Methods and Signals}{Reusable Components}
\o \l{Text Handling}
\o \l{Keyboard Focus in QML}{Keyboard Focus}
\o \l{Mouse Events}
\o \l{QML States} {States}
\o \l{QML Animation}{Animation and Transitions}
\o \l{QML Basic Types}{QML Basic Data Types}
\o \l{QML Data Models}{Structuring Data with Models}
\o \l{Presenting Data with QML}{Presenting Data with Views}
\o \l{Affine Transformations}
\o \l{Dynamic Object Management in QML}{Dynamic Object Management}
\o \l{Network Transparency}{Resource Loading}
\o \l{Extending QML in C++}{Extending QML Functionalities using C++}
\o \l{Using QML in C++ Applications}
\o \l{Integrating QML with existing Qt UI code}{Integrating QML Code with Existing Qt UI Code}
\o \l{Signals and Slots Event System}
\o \l{QML Internationalization}{Internationalization}
\o \l{Graphical Effects}
\endlist

\section1 QML Add-Ons

\list
\o \l{Qt WebKit}
\o \l{Mobility QML bindings}
\endlist

\section1 Qt Quick Tools

\list
\o \l{Debugging QML}
\o \l{QML Viewer}
\o \l{QML Performance}
\o \l{Developing Qt Quick Applications}{Developing with Qt Creator}
\endlist

\section1 Architecture

\list
\o \l{Qt Declarative UI Runtime}
\o \l{Integrating JavaScript}
\o \l{QML Scope}
\o \l{QML Modules}
\o \l{QML Documents}
\o \l{QML Global Object}
\o \l{QML Security}
\o \l{Qt Declarative Module}
\endlist

\section1 Reference

\list
\o \l{QML Elements}
\o \l{Qt Declarative Module}
\o \l{QML Basic Types}{QML Data Types}
\o \l{QML Coding Conventions}
\o \l{Qt Creator Manual}
\o \l{Programming with Qt}
\o \l{http://doc.qt.nokia.com/qtmobility-1.1.0/index.html}{Qt Mobility Documentation}
\endlist

\section1 Examples

\list
\o \l{QML Tutorial}{"Hello World" Tutorial}
\o \l{Getting Started Programming with QML}
\o \l{QML Advanced Tutorial}{Tutorial: "Same Game"}
\o \l{Tutorial: Writing QML extensions with C++}
\o \l{QML Examples and Demos}

\o Forum Nokia:
\l{http://wiki.forum.nokia.com/index.php/Qt_Quick_examples_for_porting}{Qt Quick
examples for porting}
\endlist

\section1 Best Practices

\list
\o \l{QML Best Practices: Data Types}{Using Data Types in QML}
\o \l{QML Best Practices: Coding Conventions}{Coding Tips}
\o \l{Geir's screen size document}
\endlist
*/