Тип QML ObjectModel
Определяет набор элементов, используемых в качестве модели Подробнее...
| Заявление об импорте: | import QtQml.Models 2.2 |
Свойства
- count : int
Прикрепленные свойства
- index : int
Методы
- void append(object item)
- void clear()
- object get(int index)
- void insert(int index, object item)
- void move(int from, int to, int n)
- void remove(int index, int n)
Подробное описание
ObjectModel содержит визуальные элементы, используемые в представлении. При использовании ObjectModel в представлении, представлению не требуется делегат, так как ObjectModel уже содержит визуальный делегат (элементы).
Элемент может определить свой индекс в модели с помощью прикрепленного свойства index.
В примере ниже три цветных прямоугольника размещаются в 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
}
} См. также Примеры Qt Quick - Представления.
Документация по свойствам
count : int
Количество элементов в модели. Это свойство является только для чтения.
Документация по прикрепленным свойствам
ObjectModel.index : int
Это прикрепленное свойство содержит индекс элемента этого делегата в модели.
Он прикреплен к каждому экземпляру делегата.
Документация по методам
void append(object item)
Добавляет новый элемент в конец модели.
objectModel.append(objectComponent.createObject())
Этот метод QML был введён в Qt 5.6.
См. также insert() и remove().
void clear()
Очищает все элементы из модели.
Этот метод QML был введён в Qt 5.6.
См. также append() и remove().
object get(int index)
Возвращает элемент по индексу index в модели. Это позволяет получить доступ к элементу или изменить его из JavaScript:
Component.onCompleted: {
objectModel.append(objectComponent.createObject())
console.log(objectModel.get(0).objectName);
objectModel.get(0).objectName = "first";
} index должен быть элементом в списке.
Этот метод QML был введён в Qt 5.6.
См. также append().
void insert(int index, object item)
Вставляет новый элемент в модель в позицию index.
objectModel.insert(2, objectComponent.createObject())
index должен соответствовать существующему элементу в списке или находиться сразу после конца списка (что эквивалентно append).
Этот метод QML был введён в Qt 5.6.
См. также append() и remove().
void move(int from, int to, int n = 1)
Перемещает n элементов из позиции from в позицию to.
Диапазоны from и to должны существовать; например, чтобы переместить первые 3 элемента в конец модели:
objectModel.move(0, objectModel.count - 3, 3)
Этот метод QML был введён в Qt 5.6.
См. также append().
void remove(int index, int n = 1)
Удаляет элементы в позиции index из модели.
Этот метод QML был введён в Qt 5.6.
См. также clear().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtqml-models-objectmodel.html