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