Repeater3D QML Type

指定されたモデルを使用して、多数のNodeベースのコンポーネントをインスタンス化します。詳細...

Import Statement: import QtQuick3D
Inherits:

Node

Inherited By:

InstanceRepeater

プロパティ

信号

方法

詳細説明

Repeater3Dタイプは、多数の類似したアイテムを作成するために使用されます。他のビュータイプと同様に、Repeater3Dはmodeldelegate を持ちます。モデルの各エントリに対して、デリゲートはモデルからのデータをシードしたコンテキストでインスタンス化されます。

リピーターのmodel は、サポートされているデータモデルのどれでもかまいません。さらに、他のビューのデリゲートと同様に、リピーターのデリゲートは、デリゲートに関連するモデル・データと同様に、リピーター内のインデックスにアクセスすることができます。詳細については、delegate プロパティのドキュメントを参照してください。

注意: Repeater3D アイテムは、それがインスタンス化するすべてのアイテムを所有します。Repeater3D によって作成されたアイテムを削除したり、動的に破棄したりすると、予測できない動作になります。

: Repeater3D はNode をベースとしており、Node 由来のオブジェクトのみを繰り返すことができます。

プロパティの説明

count : int [read-only]

このプロパティは、モデル内のアイテムの数を保持します。

注意 Repeater3D がデリゲートをインスタンス化する途中であったり、正しく設定されていなかったりすると、 count によって報告されるモデル内のアイテムの数が、作成されたデリゲートの数と異なる場合があります。


delegate : Component [default]

デリゲートは、リピータによってインスタンス化された各オブジェクトを定義するテンプレートを提供します。

デリゲートは、リピータ内のデリゲートのインデックスを示す読み取り専用のindex プロパティに公開されます。

model がモデル・オブジェクト(ListModel など)である場合、デリゲートは、デリゲートがListView のようなビュー・クラスに対して行うのと同じように、すべてのモデル・ロールに名前付きプロパティとしてアクセスすることができます。

QML データモデルも参照してください


model : any

リピーターにデータを提供するモデル。

このプロパティには、サポートされているデータモデルのいずれかを設定することができます:

  • リピーターが作成するデリゲートの数を示す数値。
  • モデル (ListModel アイテムやQAbstractItemModel サブクラスなど)
  • 文字列リスト
  • オブジェクト・リスト

モデルのタイプは、delegate に公開されるプロパティに影響します。

データモデルも参照してください


シグナル・ドキュメント

objectAdded(int index, Object3D object)

このシグナルは、オブジェクトがリピータに追加されたときに発行されます。index パラメータは、オブジェクトがリピータに挿入されたインデックスを保持し、object パラメータは、追加されたObject3D を保持します。

対応するハンドラはonObjectAdded です。

注: 対応するハンドラはonObjectAdded です。


objectRemoved(int index, Object3D object)

このシグナルは、オブジェクトがリピータから削除されたときに発せられます。index パラメータは、アイテムがリピータから削除されたインデックスを保持し、object パラメータは、削除されたObject3D を保持します。

このリピータによって作成された場合は、object への参照を保持しないでください。このような場合、シグナルが処理された直後に削除されるからです。

対応するハンドラはonObjectRemoved である。

注: 対応するハンドラはonObjectRemoved


メソッドの説明

Object3D objectAt(index)

与えられたindex で作成されたObject3D を返します。index にアイテムが存在しない場合はnull を返します。


© 2025 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.