Тип QML Repeater3D
Создаёт несколько компонентов на основе узлов, используя предоставленную модель. Подробнее...
| Оператор импорта: | import QtQuick3D . |
| Наследует от: |
Свойства
Сигналы
- objectAdded(int index, Object3D object)
- objectRemoved(int index, Object3D object)
Методы
- Object3D objectAt(index)
Подробное описание
Тип Repeater3D используется для создания большого количества похожих элементов. Как и другие типы представлений, Repeater3D имеет свойство model и delegate: для каждой записи в модели экземпляр delegate создаётся в контексте, заполненном данными из модели.
Модель model Repeater может быть любого поддерживаемого типа моделей данных. Кроме того, как и делегаты других представлений, делегат Repeater может получить свой индекс в пределах repeater, а также данные модели, относящиеся к делегату. Подробную информацию см. в документации свойства delegate.
Примечание: Элемент Repeater3D владеет всеми элементами, которые он создаёт. Удаление или динамическое уничтожение элемента, созданного Repeater3D, приводит к непредсказуемому поведению.
Примечание: Repeater3D основан на Node и может повторять только объекты, производные от Node.
Документация свойств
[только для чтения] count : int
Это свойство содержит количество элементов в модели.
Примечание: Количество элементов в модели, как сообщается свойством count, может отличаться от количества созданных делегатов, если Repeater3D находится в процессе создания делегатов или настроен неправильно.
[значение по умолчанию] delegate : Component
Делегат предоставляет шаблон, определяющий каждый объект, созданный repeater.
Делегаты получают доступ к свойству index , которое является только для чтения и указывает индекс делегата в repeater.
Если model является объектом модели (например, ListModel), делегат может получить доступ ко всем ролям модели в качестве именованных свойств, точно так же, как это делают делегаты для классов представлений, таких как ListView.
См. также QML Модели данных.
model : any
Модель, предоставляющая данные для repeater.
Это свойство может быть установлено на любой из поддерживаемых моделей данных:
- Число, указывающее количество делегатов, которые должны быть созданы repeater
- Модель (например, элемент ListModel или подкласс QAbstractItemModel)
- Список строк
- Список объектов
Тип модели влияет на свойства, которые доступны делегату delegate.
См. также Модели данных.
Документация сигналов
objectAdded(int index, Object3D object)
Этот сигнал испускается, когда объект добавляется в repeater. Параметр index содержит индекс, в который был вставлен объект в repeater, а параметр object содержит Object3D, который был добавлен.
Соответствующий обработчик — onObjectAdded.
Примечание: Соответствующий обработчик — onObjectAdded.
objectRemoved(int index, Object3D object)
Этот сигнал испускается, когда объект удаляется из repeater. Параметр index содержит индекс, из которого элемент был удалён из repeater, а параметр object содержит Object3D, который был удалён.
Не сохраняйте ссылку на object, если он был создан этим repeater, так как в этих случаях он будет удалён вскоре после обработки сигнала.
Соответствующий обработчик — onObjectRemoved.
Примечание: Соответствующий обработчик — onObjectRemoved.
Документация методов
Object3D objectAt(index)
Возвращает Object3D, созданный по заданному index, или null, если элемент с таким index не существует.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qml-qtquick3d-repeater3d.html