Spec-Zone.ru › Qt 6.1

Тип QML Instantiator

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

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

Свойства

  • 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 не изменятся.

Примечание: Instantiator является частью QtQml.Models начиная с версии 2.14 и частью QtQml начиная с версии 2.1. Импорт Instantiator через QtQml устарел начиная с Qt 5.14.

Документация по свойствам

active : bool

Когда активность равна true, и компонент delegate готов, Instantiator будет создавать объекты в соответствии с моделью. Когда активность равна false, объекты не будут создаваться, а все ранее созданные объекты будут уничтожены.

Значение по умолчанию — true.

asynchronous : bool

Если asynchronous равно true, Instantiator будет пытаться создавать объекты асинхронно. Это означает, что объекты могут не быть доступны сразу же, даже если активность установлена в значение true.

Вы можете использовать сигнал objectAdded, чтобы отреагировать на создание элементов.

Значение по умолчанию — false.

count : int

Количество объектов, которые в настоящее время управляются Instantiator.

[default] delegate : QtQml::Component

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

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

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

model : variant

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

  • Число, указывающее количество делегатов, которые должны быть созданы 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-6.1/qml-qtqml-models-instantiator.html

Spec-Zone.ru

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