1 /****************************************************************************
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
7 ** This file is part of the documentation of the Qt Toolkit.
9 ** $QT_BEGIN_LICENSE:FDL$
10 ** GNU Free Documentation License
11 ** Alternatively, this file may be used under the terms of the GNU Free
12 ** Documentation License version 1.3 as published by the Free Software
13 ** Foundation and appearing in the file included in the packaging of
17 ** Alternatively, this file may be used in accordance with the terms
18 ** and conditions contained in a signed written agreement between you
26 ****************************************************************************/
29 \page qdeclarativeelements.html
30 \inqmlmodule QtQuick 2
33 \brief A listing of standard QML elements.
35 These are the functionally grouped lists of QML elements as part of
36 \l{Qt Quick}. You can also browse the module pages for \l{QtQuick 1}, \l{QtQuick 2} and \l{QtQuick.Particles 2}
38 Elements are declared with the their name and two curly braces. Elements may
39 be nested in elements, thereby creating a parent-child relationship between the
42 To see the QML elements listed by functional area, see the
43 \l{Groups Of Related QML Elements} page.
45 \section1 Basic QML Elements
47 \o \l {Item} - Basic item element inherited by QML elements
48 \o \l {Component} - Encapsulates QML elements during importing
49 \o \l {QtObject} {QtObject} - Basic element containing only the \c {objectName} property
54 \o \l {Rectangle} - A rectangle element
55 \o \l {Image} - For incorporating bitmaps into a scene
56 \o \l {BorderImage} - Allows the use of images as borders
57 \o \l {AnimatedImage} - For playing animations stored in a series of frames
58 \o \l {Gradient} - For defining a color gradient
59 \o \l {GradientStop} - Used to define a color within a \l {Gradient}
60 \o \l {SystemPalette} - Provides access to the Qt palettes
61 \o \l {Canvas} - Provides a 2D canvas element
64 \section1 Text Handling
66 \o \l {Text} - For inserting formatted text into a scene
67 \o \l {TextInput} - Captures user key input
68 \o \l {TextEdit} - Displays multiple lines of editable formatted text
69 \o \l {IntValidator} - Validates values as integers
70 \o \l {DoubleValidator} - Validates real values
71 \o \l {RegExpValidator} - Validator for string regular expressions
72 \o \l {FontLoader} - Loads fonts by name or URL
75 \section1 Mouse and Interaction Area
77 \o \l {MouseArea} - Sets up an area for mouse interaction
78 \o \l {Keys} - Provides components with attached properties to handle key input.
79 \o \l {FocusScope} - Element that mediate keyboard focus changes
80 \o \l {Flickable} - Provides a surface that can be "flicked"
81 \o \l {Flipable} - Provides a surface that produces "flipping" effects
82 \o \l {PinchArea} - Enables simple pinch gesture handling
83 \o \l {MultiPointTouchArea} - Enables handling of multiple touch points
86 \section1 Positioners and Repeater
88 \o \l {Column} - Arranges its children vertically
89 \o \l {Row} - Arranges its children horizontally
90 \o \l {Grid} - Positions its children in a grid
91 \o \l {Flow} - Positions its children with wrapping support
92 \o \l {Repeater} - Uses a model to create multiple components
95 \section1 Transformations
97 \o \l {Scale} - Assigns item scaling behaviors
98 \o \l {Rotation} - Assigns item rotation behaviors
99 \o \l {Translate} - Assigns item translation behaviors
104 \o \l {State} - Defines sets of configurations of objects and properties
105 \o \l {PropertyChanges} - Describes property changes within a state
106 \o \l {StateGroup} - Contains a set of states and state transitions
107 \o \l {StateChangeScript} - Allows script binding in a state
108 \o \l {ParentChange} - Re-parent an Item in a state change
109 \o \l {AnchorChanges} - Change the anchors of an item in a state
112 \section1 Animation and Transitions
114 \o \l {Transition} - Animates transitions during state changes
115 \o \l {SequentialAnimation} - Runs animations sequentially
116 \o \l {ParallelAnimation} - Runs animations in parallel
117 \o \l {Behavior} - Specifies a default animation for property changes
118 \o \l {PropertyAction} - Sets immediate property changes during animation
119 \o \l {PauseAnimation} - Introduces a pause in an animation
120 \o \l {SmoothedAnimation} - Allows a property to smoothly track a value
121 \o \l {SpringAnimation} - Allows a property to track a value in a spring-like motion
122 \o \l {ScriptAction} - Runs scripts during an animation
125 Elements that animate properties based on data types
127 \o \l {PropertyAnimation} - Animates property changes
128 \o \l {NumberAnimation} - Animates properties of type qreal
129 \o \l {Vector3dAnimation} - Animates properties of type QVector3d
130 \o \l {ColorAnimation} - Animates color changes
131 \o \l {RotationAnimation} - Animates rotations
132 \o \l {ParentAnimation} - Animates parent changes
133 \o \l {AnchorAnimation} - Animates anchor changes
136 \section1 Models and Data Handling
138 \o \l {QtQuick2::ListModel}{ListModel} - Defines a list of data
139 \o \l {QtQuick2::ListElement}{ListElement} - Defines a data item in a \l {QtQuick2::ListModel}{ListModel}
140 \o \l {VisualItemModel} - Contains items that already defines its own visual delegate
141 \o \l {VisualDataModel} - Encapsulates a model and a delegate
142 \o \l {XmlListModel} - Specifies a model using XPath expressions
143 \o \l {XmlRole} - Specifies a role for an \l {XmlListModel}
144 \o \l {Binding} - Binds any value to any property
145 \o \l {Package} - Collection that enables sharing of items within different views
150 \o \l {ListView} - Provides a list visualization of a model
151 \o \l {GridView} - Provides a grid visualization of a model
152 \o \l {PathView} - Visualizes a model's contents along a path. See \l {Path Definition}{Path Elements} for more information.
155 \section1 Path Definition
157 \o \l {Path} - Defines a path used by \l {PathView}
158 \o \l {PathLine} - Defines a line in \l {Path}
159 \o \l {PathQuad} - Defines a quadratic Bezier curve in a \l {Path}
160 \o \l {PathCubic} - Defines a cubic Bezier curve in a \l {Path}
161 \o \l {PathAttribute} - Allows the setting of attributes along a \l {Path}
162 \o \l {PathPercent} - Modifies the item distribution along a \l {Path}
167 \o \l {Connections} - Explicitly connects signals and signal handlers
168 \o \l {Timer} - Provides timed triggers
169 \o \l {QmlGlobalQtObject}{Qt} - The QML global Qt object provides useful enums and functions from Qt.
170 \o \l {WorkerScript} - Enables the use of threads in QML
171 \o \l {Loader} - Controls the loading of items or components
174 \section1 Graphical Effects
176 \o \l {ShaderEffect} - Allows GLSL shaders to be used as graphical effects
177 \o \l {ShaderEffectSource} - Usable as a texture in ShaderEffect
178 \o \l {GridMesh} - Generates a gird mesh of vertices for use by ShaderEffect
179 \o The \l{QtQuick.Particles 2} module provides a set of Particle System elements for QtQuick 2
187 \title Groups Of Related QML Elements
189 \brief If you know what kind of QML element you want (Basic Visual,
190 Interaction, Animation, etc), look here.
192 This is a list of functional groups of QML elements.
194 \generatelist{related}
199 \group qml-basic-visual-elements
200 \title Basic QML Visual Elements
203 \brief Elements for constructing basic visual items.
205 \generatelist{related}
210 \group qml-basic-interaction-elements
211 \title Basic QML Interaction Elements
214 \brief Elements for handling basic interactions.
216 \generatelist{related}
221 \group qml-state-elements
222 \title QML State Elements
225 \brief Elements for handling state changes.
227 \generatelist{related}
232 \group qml-event-elements
233 \title QML Event Elements
236 \brief Elements for handling events.
238 \generatelist{related}
243 \group qml-animation-transition
244 \title QML Animation and Transition Elements
247 \brief Elements for handling animations and transitions.
249 \generatelist{related}
254 \group qml-working-with-data
255 \title Working With Data in QML
258 \brief Elements for working with data.
260 \generatelist{related}
265 \group qml-view-elements
266 \title QML View Elements
269 \brief Elements for handling views.
271 \generatelist{related}
276 \group qml-positioning-elements
277 \title QML Positioning Elements
280 \brief Elements for positioning items.
282 \generatelist{related}
287 \group qml-utility-elements
288 \title QML Utility Elements
291 \brief Elements for handling misc operations.
293 \generatelist{related}
298 \group qml-transform-elements
299 \title QML Transform Elements
302 \brief Elements for handling transformations.
304 \generatelist{related}
309 \group qml-particle-elements
310 \title QML Particle Elements
313 \brief Elements for handling particle effects.
315 This is the QtQuick 1.0 particle system, incompatible with QtQuick 2.0
317 There is a completely separate \l{QtQuick.Particles 2}{QtQuick 2.0 particle system}
319 \generatelist{related}