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