A list type contains a list of objects. While not technically a basic type, QML supports lists of object types. When used from QML, the engine automatically appends each value to the list. Items in the list can be accessed by index using the usual listName[index] syntax.
For example, the Item class contains a list property named children that can be used like this:
Item { children: [ Item { id: child1 }, Rectangle { id: child2; width: 200 }, Text { id: child3 } ] Component.onCompleted: { console.log("Width of child rectangle:", children[1].width) } }
child1, child2 and child3 will be added to the children list in the order in which they appear.
List properties can be created as a variant type, or as a list<Type> type, where Type is the type of the object in the list:
Item { property list<Rectangle> rects: [ Rectangle { width: 100; height: 100}, Rectangle { width: 200; height: 200} ] }
A list property can only contain values that match (or are derived from) the specified Type.
While the rects property can be reassigned to a different list value (including an empty list), its individual values cannot be modified. See the variant type documentation for details.
See also QML Basic Types.