このページでは

Instantiator QML Type

オブジェクトを動的に作成します。詳細...

Import Statement: import QtQml.Models

プロパティ

信号

方法

詳細説明

Instantiator は、オブジェクトの動的な作成を制御したり、テンプレートから複数のオブジェクトを動的に作成したりするために使用できます。

Instantiator 要素は、作成したオブジェクトを管理します。これらのオブジェクトはインスタンティエイターの親となり、インスタンティエイターのプロパティが変更された場合は、インスタンティエイターによって削除することもできます。オブジェクトは他の手段で動的に破棄することもでき、Instantiatorのプロパティが変更されない限り、Instantiatorが再作成することはありません。

注: Instantiatorは、バージョン2.14以降QtQml.Modelsの一部であり、バージョン2.1以降QtQml 。Qt 5.14 以降、QtQml を使ったインポートは非推奨です。

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

active : bool

activeがtrueで、デリゲート・コンポーネントの準備が整うと、インスタンティエイターはモデルに従ってオブジェクトを作成する。active が false の場合、オブジェクトは作成されず、以前に作成されたオブジェクトは破棄されます。

デフォルトはtrueです。

asynchronous : bool

asynchronousがtrueの場合、インスタンティエイターはオブジェクトを非同期に作成しようとします。つまり、activeがtrueに設定されていても、オブジェクトはすぐに利用できない可能性があります。

objectAdded シグナルを使用して、アイテムが作成されたことに応答することができます。

デフォルトはfalseです。

count : int [read-only]

Instantiator が現在管理しているオブジェクトの数。

delegate : QtQml::Component [default]

すべてのオブジェクトの生成に使用されるコンポーネント。

デリゲートのインスタンス内部では、indexという追加の変数が利用できることに注意してください。この変数は、インスタンシエータ内のインスタンスのインデックスを指し、インスタンシエータのobjectAt メソッドを通してオブジェクトを取得するために使用することができます。

このプロパティが変更されると、古いデリゲートを使用していたインスタンスはすべて破棄され、新しいデリゲートを使用して新しいインスタンスが作成されます。

delegateModelAccess : enumeration [since 6.10]

このプロパティは、デリゲートがどのようにモデルにアクセスできるかを決定します。

定数説明
DelegateModel.ReadOnlyデリゲートがコンテキストプロパティ、model オブジェクト、または必須プロパティのいずれかを介してモデルを書き込むことを禁止します。
DelegateModel.ReadWriteデリゲートがコンテキスト・プロパティ、model オブジェクト、または必須プロパティのいずれかを介してモデルを書き込むことを許可します。
DelegateModel.Qt5ReadWriteデリゲートがmodel オブジェクトとコンテキスト・プロパティを使ってモデルを書き込むことを許可しますが、必須プロパティを使って書き込むことは許可しません

デフォルトはDelegateModel.Qt5ReadWrite です。

このプロパティは Qt 6.10 で導入されました。

Qt Quick#モデルデータの変更の「モデルとビュー」も参照してください

model : variant

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

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

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

デフォルト値は 1 で、1 つのデリゲート・インスタンスが作成されます。

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

object : QtObject [read-only]

これは、最初に作成されたオブジェクトへの参照であり、オブジェクトが1つしか作成されていない場合の便宜を図ったものである。

シグナル・ドキュメント

objectAdded(int index, QtObject object)

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

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

objectRemoved(int index, QtObject object)

このシグナルは、オブジェクトがInstantiatorから削除されたときに発行される。index パラメーターはオブジェクトが与えられていたインデックスを保持し、object パラメーターは削除されたQtObject を保持します。

object への参照を保持しないでください。 がこのインスタンティエイターによって作成された場合は、シグナルが処理された直後に削除されます。

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

メソッドのドキュメント

QtObject 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.