ObjectModel QML Type
Defines a set of items to be used as a model. More...
Import Statement: | import QtQml.Models |
Properties
- count : int
Attached Properties
- index : int
Methods
- append(object item)
- clear()
- object get(int index)
- insert(int index, object item)
- move(int from, int to, int n)
- remove(int index, int n)
Detailed Description
An ObjectModel contains the visual items to be used in a view. When an ObjectModel is used in a view, the view does not require a delegate since the ObjectModel already contains the visual delegate (items).
An item can determine its index within the model via the index attached property.
The example below places three colored rectangles in a ListView.
import QtQuick 2.0 import QtQml.Models 2.1 Rectangle { ObjectModel { id: itemModel Rectangle { height: 30; width: 80; color: "red" } Rectangle { height: 30; width: 80; color: "green" } Rectangle { height: 30; width: 80; color: "blue" } } ListView { anchors.fill: parent model: itemModel } }
See also Qt Quick Examples - Views.
Property Documentation
count : int |
The number of items in the model. This property is readonly.
Attached Property Documentation
ObjectModel.index : int |
This attached property holds the index of this delegate's item within the model.
It is attached to each instance of the delegate.
Method Documentation
append(object item) |
object get(int index) |
Returns the item at index in the model. This allows the item to be accessed or modified from JavaScript:
Component.onCompleted: { objectModel.append(objectComponent.createObject()) console.log(objectModel.get(0).objectName); objectModel.get(0).objectName = "first"; }
The index must be an element in the list.
See also append().
insert(int index, object item) |
Moves n items from one position to another.
The from and to ranges must exist; for example, to move the first 3 items to the end of the model:
objectModel.move(0, objectModel.count - 3, 3)
See also append().