本页内容

NodeInstantiator QML Type

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

Import Statement: import Qt3D.Core 2.12
Status: Deprecated

此类型已弃用。我们强烈建议不要在新代码中使用它。

属性

信号

方法

详细说明

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

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

属性文档

active : bool

当 active 属性设置为true 且委托组件已就绪时,Instantiator 将根据模型创建对象。当 active 属性设置为false 时,将不会创建任何对象,且任何先前创建的对象都将被销毁。

默认值为true 。

asynchronous : bool

当“asynchronous”为 true 时,Instantiator 将尝试异步创建对象。这意味着即使将“active”设置为 true,对象也可能无法立即可用。

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

默认值为 `false`。

count : int [read-only]

Instantiator 当前管理的对象数量。

delegate : QtQml::Component [default]

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

请注意,在委托的实例内部将提供一个额外的变量 index。该变量表示该实例在 Instantiator 中的索引,可用于通过 Instantiator 的 itemAt 方法获取该对象。

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

model : variant

该属性可设置为任何受支持的数据模型:

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

模型的类型会影响向delegate 暴露的属性。

默认值为 1,这将创建一个委托实例。

另请参阅 “数据模型”。

object : QtQml::QtObject [read-only]

这是对首个创建的对象的引用,旨在方便处理仅创建了一个对象的情况。

Signal 文档

objectAdded(int index, QtObject object)

当向NodeInstantiator 中添加一个节点时,会触发此信号。index 参数保存了该节点被分配的索引,而object 参数保存了已添加的Node 。

相应的处理程序是onNodeAdded 。

注意: 相应的处理程序 为onObjectAdded 。

objectRemoved(int index, QtObject object)

当从Instantiator中移除一个对象时,会触发此信号。index 参数保存该对象被分配的索引,而object 参数保存已被移除的QtObject 。

如果 `object ` 是由该实例化器创建的,请不要保留对其的引用,因为在这种情况下,它将在信号被处理后不久被删除。

相应的处理程序是onObjectRemoved 。

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

方法文档

object objectAt(int index)

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

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.