Repeater3D QML Type
指定されたモデルを使用して、多数のNodeベースのコンポーネントをインスタンス化します。詳細...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Inherited By: |
プロパティ
- count : int
- delegate : Component
- delegateModelAccess : enumeration
(since 6.10) - model : any
信号
- objectAdded(int index, Object3D object)
- objectRemoved(int index, Object3D object)
方法
- Object3D objectAt(index)
詳細説明
Repeater3Dタイプは、多数の類似したアイテムを作成するために使用されます。他のビュータイプと同様に、Repeater3Dはmodel とdelegate を持ちます。モデルの各エントリに対して、デリゲートはモデルからのデータをシードしたコンテキストでインスタンス化されます。
リピーターのmodel は、サポートされているデータモデルのどれでもかまいません。さらに、他のビューのデリゲートと同様に、リピーターのデリゲートは、デリゲートに関連するモデル・データと同様に、リピーター内のインデックスにアクセスすることができます。詳細については、delegate プロパティのドキュメントを参照してください。
注: Repeater3D アイテムは、それがインスタンス化するすべてのアイテムを所有します。Repeater3D によって作成されたアイテムを削除したり、動的に破棄したりすると、予測できない動作になります。
プロパティのドキュメント
count : int [read-only]
このプロパティは、モデル内のアイテム数を保持する。
注意: Repeater3D がデリゲートをインスタンス化する途中であったり、正しく設定されていない場合、count によって報告されるモデル内のアイテムの数は、作成されたデリゲートの数とは異なる可能性があります。
delegate : Component [default]
デリゲートは、リピータによってインスタンス化された各オブジェクトを定義するテンプレートを提供します。
デリゲートは、リピータ内のデリゲートのインデックスを示す読み取り専用のindex プロパティに公開されます。
model がモデル・オブジェクト(ListModel など)である場合、デリゲートは、デリゲートがListView のようなビュー・クラスに対して行うのと同じように、すべてのモデル・ロールに名前付きプロパティとしてアクセスすることができます。
QML データモデル」も参照してください 。
delegateModelAccess : enumeration [since 6.10]
このプロパティは、デリゲートがどのようにモデルにアクセスできるかを決定します。
| 定数 | 説明 |
|---|---|
DelegateModel.ReadOnly | デリゲートがコンテキストプロパティ、model オブジェクト、または必須プロパティのいずれかを介してモデルを書き込むことを禁止します。 |
DelegateModel.ReadWrite | デリゲートがコンテキスト・プロパティ、model オブジェクト、または必須プロパティのいずれかを介してモデルを書き込むことを許可します。 |
DelegateModel.Qt5ReadWrite | デリゲートがmodel オブジェクトとコンテキスト・プロパティを使ってモデルを書き込むことを許可しますが、必須プロパティを使って書き込むことは許可しません。 |
デフォルトはDelegateModel.Qt5ReadWrite です。
このプロパティは Qt 6.10 で導入されました。
Qt Quick#モデルデータの変更の「モデルとビュー」も参照してください 。
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 を返す。
© 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.