このページでは

Repeater3D QML Type

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

Import Statement: import QtQuick3D
Inherits:

Node

Inherited By:

InstanceRepeater

プロパティ

信号

方法

詳細説明

Repeater3D 型は、多数の類似したアイテムを作成するために使用されます。他のビュー型と同様に、Repeater3D にはmodel とdelegate があります。モデル内の各エントリについて、そのデリゲートは、モデルからのデータで初期化されたコンテキスト内でインスタンス化されます。

Repeaterのmodel には、サポートされている任意のデータモデルを指定できます。さらに、他のビューのデリゲートと同様に、Repeaterのデリゲートは、Repeater内での自身のインデックスや、そのデリゲートに関連するモデルデータにアクセスできます。詳細については、delegate プロパティのドキュメントを参照してください。

注: Repeater3Dアイテムは 、自身がインスタンス化するすべてのアイテムを所有します。Repeater3D によって作成されたアイテムを削除したり動的に破棄したりすると、予期しない動作を引き起こす可能性があります。

注:Repeater3Dは Node をベースとしており、Node から派生したオブジェクトのみを反復表示できます。

プロパティのドキュメント

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.