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 で、デリゲート・コンポーネントの準備ができている場合、Instantiator はモデルに従ってオブジェクトを作成します。active が false の場合、オブジェクトは作成されず、以前に作成されたオブジェクトは破棄されます。

デフォルトはtrueです。


asynchronous : bool

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

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

デフォルトはfalseです。


count : int [read-only]

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


delegate : QtQml::Component [default]

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

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

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


model : variant

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

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

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

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

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


object : QtObject [read-only]

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


シグナルの説明

objectAdded(int index, QtObject object)

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

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


objectRemoved(int index, QtObject object)

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

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

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


メソッド・ドキュメント

QtObject objectAt(int index)

与えられたindex を持つオブジェクトへの参照を返します。


©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。