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