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