Spec-Zone.ru › Qt 5.9

Тип QML Instantiator

Динамически создаёт объекты Подробнее...

Заявление об импорте: 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

Это свойство может быть установлено в любое из поддерживаемых моделей данных:

  • Число, которое указывает количество делегатов, которые должен создать repeater
  • Модель (например, элемент 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)

Возвращает ссылку на объект с заданным индексом.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtqml-instantiator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API