Spec-Zone.ru › Qt 5.12

Тип QML Instantiator

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

Заявление об импорте: import QtQml 2.12
  • Список всех членов, включая унаследованные

Свойства

  • 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

Компонент, используемый для создания всех объектов.

Обратите внимание, что внутри экземпляров delegate будет доступна дополнительная переменная index. Эта переменная ссылается на индекс экземпляра внутри Instantiator и может быть использована для получения объекта с помощью метода objectAt Instantiator.

Если это свойство изменено, все экземпляры, использующие старый delegate, будут удалены, и новые экземпляры будут созданы с использованием нового delegate.

model : variant

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

  • Число, указывающее количество delegate, которые нужно создать repeater
  • Модель (например, элемент ListModel или подкласс QAbstractItemModel)
  • Список строк
  • Список объектов

Тип модели влияет на свойства, которые доступны delegate.

Значение по умолчанию — 1, что создаёт один экземпляр delegate.

См. также Модели данных.

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.12/qml-qtqml-instantiator.html

Spec-Zone.ru

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