构造器 QML 类型

动态创建对象。 更多...

导入声明import QtQml.Models

属性

信号

方法

详细描述

构造器可用于控制对象的动态创建,或从模板动态创建多个对象。

构造器元素将管理其创建的对象。这些对象将成为构造器的子对象,如果构造器的属性发生变化,构造器也可以删除它们。对象还可以通过其他方式动态销毁, unless the Instantiator's properties change.

注意:构造器从版本 2.14 开始是 QtQml.Models 的一部分,并从版本 2.1 开始是 QtQml 的一部分。从 Qt 5.14 开始,通过 QtQml 导入构造器已被弃用。

属性文档

active : bool

当 active 为 true,且代理组件就绪时,构造器将根据模型创建对象。当 active 为 false,则不会创建对象,并且会销毁之前创建的对象。

默认为 true。


asynchronous : bool

当 asynchronous 为 true 时,构造器将尝试异步创建对象。这意味着即使 active 设置为 true,对象也可能不可用。

您可以使用 objectAdded 信号来响应用件创建。

默认为 false。


count : int [只读]

构造器当前管理的对象数量。


delegate : QtQml::Component [默认]

用于创建所有对象的组件。

请注意,在委托实例内部将可用额外变量“index”。该变量引用该实例在“Instantiator”中的索引,并可用于通过“Instantiator”的objectAt方法获取对象。

如果更改此属性,则使用旧委托的所有实例将被销毁,并使用新委托创建新实例。


model : variant

可以将此属性设置为支持的任何数据模型

  • 表示重复器要创建的委托数量的数字
  • 模型(例如ListModel项或QAbstractItemModel子类)
  • 字符串列表
  • 对象列表

模型类型会影响暴露给委托的属性。

默认值为1,它创建一个单独的委托实例。

另请参阅数据模型.


object : QtObject [只读]

这是对第一个创建的对象的引用,目的是在只有一个对象被创建的情况下提供便利。


信号文档

objectAdded(int index, QtObject object)

在将对象添加到“Instantiator”时发出此信号。参数index包含分配给对象的索引,参数object包含添加的QtObject

注意:对应的处理程序是onObjectAdded


objectRemoved(int index, QtObject object)

在从“Instantiator”中删除对象时发出此信号。参数index包含对象原有的索引,参数object包含删除的QtObject

如果对象是由此“Instantiator”创建的,则不要保留对object的引用,因为在处理信号后不久它将被删除。

注意:对应的处理程序是onObjectRemoved


方法文档

QtObject objectAt(int index)

返回具有给定index的对象的引用。


© 2024 Qt公司有限公司。此处包含的文档贡献的版权属于其各自的拥有者。本提供的文档是根据由自由软件基金会发布的GNU自由文档许可证版本1.3许可的。Qt及其相关标志是芬兰及其它国家和地区的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。