节点创建器 QML 类型

动态创建节点。 更多...

导入语句import Qt3D.Core 2.7

属性

信号

方法

详细说明

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

节点创建器元素将管理它创建的对象。这些对象成为创建者的子对象,并且如果节点创建器的属性发生变化,节点创建器也可以删除它们。节点还可以通过其他方式动态销毁,除非节点创建器的属性发生变化,否则节点创建器不会重新创建它们。

属性说明

active : bool

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

默认为 true


asynchronous : bool

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

您可以使用 objectAdded 信号来响应对象的创建。

默认为 false


count : int [只读]

即时管理对象的对象数。


delegate : QtQml::Component [默认]

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

请注意,在代理实例内部将可用一个额外的变量,即索引(index)。该变量指向实例在Instantiator中的索引,可以用它通过Instantiator的itemAt方法获取对象。

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


模型 : variant

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

  • 表示重复器要创建的代理数量的数字。
  • 一个模型(例如,ListModel项或QAbstractItemModel子类)。
  • 一个字符串列表。
  • 一个对象列表。

模型类型影响暴露给代理的属性。

默认值为1,创建单个代理实例。

另请参阅数据模型


对象 : QtQml::QtObject [只读]

这是对第一个创建的对象的引用,用于处理只创建了一个对象的情况。


信号文档

objectAdded(int index, QtObject object)

当向NodeInstantiator添加节点时发出此信号。参数index包含分配给节点的索引,参数object包含已添加的Node

相应的处理程序是onNodeAdded

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


objectRemoved(int index, QtObject object)

当从Instantiator中删除对象时发出此信号。参数index包含对象曾有的索引,参数object包含被删除的QtObject

如果对象是由这个Instantiator创建的,那么不要保留对object的引用,因为在这种情况下,信号处理后会很快被删除。

相应的处理程序是onObjectRemoved

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


方法文档

QtQml::QtObject objectAt(int index)

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


© 2024 The Qt Company Ltd. 本文档中包含的贡献的版权属于各自的所有者。本提供在此的文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可。Qt和相应的标识是The Qt Company Ltd在芬兰及其他国家/地区的商标。所有其他商标均为各自所有者的财产。