Тип QML Instantiator
Динамически создаёт объекты. Подробнее...
| Заявление об импорте: | import QtQml 2.13 |
Свойства
- active : bool
- asynchronous : bool
- count : int
- delegate : QtQml::Component
- model : variant
- object : QtObject
Сигналы
- objectAdded(index, QtObject object)
- objectRemoved(index, QtObject object)
Методы
- QtObject objectAt(index)
Подробное описание
Элемент Instantiator может использоваться для управления динамическим созданием объектов или для динамического создания нескольких объектов из шаблона.
Элемент Instantiator будет управлять созданными им объектами. Эти объекты являются дочерними по отношению к Instantiator и также могут быть удалены Instantiator, если свойства Instantiator изменяются. Объекты также могут быть удалены динамически другими средствами, и Instantiator не будет их создавать заново, если не изменятся свойства Instantiator.
Документация по свойствам
active : bool
Когда active имеет значение true, а компонент delegate готов, Instantiator создаст объекты в соответствии с моделью. Когда active имеет значение false, объекты не будут создаваться, а ранее созданные объекты будут удалены.
По умолчанию значение true.
asynchronous : bool
Когда asynchronous имеет значение true, Instantiator попытается создать объекты асинхронно. Это означает, что объекты могут быть недоступны сразу же, даже если active установлено в true.
Вы можете использовать сигнал objectAdded, чтобы реагировать на создание элементов.
По умолчанию значение false.
count : int
Количество объектов, которыми в данный момент управляет Instantiator.
[default] delegate : QtQml::Component
Компонент, используемый для создания всех объектов.
Обратите внимание, что внутри экземпляров delegate будет доступна дополнительная переменная index. Эта переменная ссылается на индекс экземпляра внутри Instantiator и может использоваться для получения объекта с помощью метода objectAt Instantiator.
Если это свойство изменено, все экземпляры, использующие старый delegate, будут удалены, а новые экземпляры будут созданы с использованием нового delegate.
model : variant
Это свойство может быть установлено в любой из поддерживаемых моделей данных:
- Число, указывающее количество delegate, которые должны быть созданы repeater
- Модель (например, элемент ListModel или подкласс QAbstractItemModel)
- Список строк
- Список объектов
Тип модели влияет на свойства, которые доступны для delegate.
Значение по умолчанию — 1, что создаёт один экземпляр delegate.
См. также Модели данных.
object : QtObject
Это ссылка на первый созданный объект, предназначенная для удобства в случае, когда был создан только один объект.
Документация по сигналам
objectAdded(index, QtObject object)
Этот сигнал генерируется при добавлении объекта в Instantiator. Параметр index содержит индекс, присвоенный объекту, а параметр object содержит QtObject, который был добавлен.
Соответствующий обработчик — onObjectAdded.
objectRemoved(index, QtObject object)
Этот сигнал генерируется при удалении объекта из Instantiator. Параметр index содержит индекс, который был присвоен объекту, а параметр object содержит QtObject, который был удалён.
Не сохраняйте ссылку на object, если он был создан этим Instantiator, так как в этих случаях он будет удалён вскоре после обработки сигнала.
Соответствующий обработчик — onObjectRemoved.
Документация по методам
QtObject objectAt(index)
Возвращает ссылку на объект с заданным index.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtqml-instantiator.html