1 /****************************************************************************
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
6 ** This file is part of the documentation of the Qt Toolkit.
8 ** $QT_BEGIN_LICENSE:FDL$
9 ** GNU Free Documentation License
10 ** Alternatively, this file may be used under the terms of the GNU Free
11 ** Documentation License version 1.3 as published by the Free Software
12 ** Foundation and appearing in the file included in the packaging of
16 ** Alternatively, this file may be used in accordance with the terms
17 ** 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 {PathArc} - Defines an arc in a \l {Path}
162 \o \l {PathCurve} - Defines a point on a Catmull-Rom curve in a \l {Path}
163 \o \l {PathSvg} - Defines a sub-path specified as a SVG path data string in a \l {Path}
164 \o \l {PathAttribute} - Allows the setting of attributes along a \l {Path}
165 \o \l {PathPercent} - Modifies the item distribution along a \l {Path}
170 \o \l {Connections} - Explicitly connects signals and signal handlers
171 \o \l {Timer} - Provides timed triggers
172 \o \l {QmlGlobalQtObject}{Qt} - The QML global Qt object provides useful enums and functions from Qt.
173 \o \l {WorkerScript} - Enables the use of threads in QML
174 \o \l {Loader} - Controls the loading of items or components
177 \section1 Graphical Effects
179 \o \l {ShaderEffect} - Allows GLSL shaders to be used as graphical effects
180 \o \l {ShaderEffectSource} - Usable as a texture in ShaderEffect
181 \o \l {GridMesh} - Generates a gird mesh of vertices for use by ShaderEffect
182 \o The \l{QtQuick.Particles 2} module provides a set of Particle System elements for QtQuick 2
185 \section1 Accessibility
187 \o \l {Accessible} - Attached property to make components accessible
195 \title Groups Of Related QML Elements
197 \brief If you know what kind of QML element you want (Basic Visual,
198 Interaction, Animation, etc), look here.
200 This is a list of functional groups of QML elements.
202 \generatelist{related}
207 \group qml-basic-visual-elements
208 \title Basic QML Visual Elements
211 \brief Elements for constructing basic visual items.
213 \generatelist{related}
218 \group qml-basic-interaction-elements
219 \title Basic QML Interaction Elements
222 \brief Elements for handling basic interactions.
224 \generatelist{related}
229 \group qml-state-elements
230 \title QML State Elements
233 \brief Elements for handling state changes.
235 \generatelist{related}
240 \group qml-event-elements
241 \title QML Event Elements
244 \brief Elements for handling events.
246 \generatelist{related}
251 \group qml-animation-transition
252 \title QML Animation and Transition Elements
255 \brief Elements for handling animations and transitions.
257 \generatelist{related}
262 \group qml-working-with-data
263 \title Working With Data in QML
266 \brief Elements for working with data.
268 \generatelist{related}
273 \group qml-view-elements
274 \title QML View Elements
277 \brief Elements for handling views.
279 \generatelist{related}
284 \group qml-positioning-elements
285 \title QML Positioning Elements
288 \brief Elements for positioning items.
290 \generatelist{related}
295 \group qml-utility-elements
296 \title QML Utility Elements
299 \brief Elements for handling misc operations.
301 \generatelist{related}
306 \group qml-transform-elements
307 \title QML Transform Elements
310 \brief Elements for handling transformations.
312 \generatelist{related}
317 \group qml-particle-elements
318 \title QML Particle Elements
321 \brief Elements for handling particle effects.
323 This is the QtQuick 1.0 particle system, incompatible with QtQuick 2.0
325 There is a completely separate \l{QtQuick.Particles 2}{QtQuick 2.0 particle system}
327 \generatelist{related}