5
QMLタイプComponent
とInstantiator
は同様の処理をしているようです。定義を解析するときとは異なり、要求に応じてQMLオブジェクトを作成します。 違いは何ですか?なぜ私はもう一方を使いたいのですか?QMLのコンポーネントとインスタンシエータの違いは?
QMLタイプComponent
とInstantiator
は同様の処理をしているようです。定義を解析するときとは異なり、要求に応じてQMLオブジェクトを作成します。 違いは何ですか?なぜ私はもう一方を使いたいのですか?QMLのコンポーネントとインスタンシエータの違いは?
Instantiator
は、与えられたComponent
のインスタンスを作成します(model
で指定されたモデルエントリごとに1つ)。それはリピータに似ています。
Component
はクラスです。 Instantiator
は、指定されたコンポーネントの一種です。
しかし、私は 'Instantiator'なしで' Component'のインスタンスを作成することはできませんか? – JesseTG
複数の可能性があり、どちらが最適かを選択してください:単一のインスタンスに対して[Loader'](http://doc.qt.io/qt-5/qml-qtquick-loader.html)を使うことができます、複数のインスタンスのための[Repeater](http://doc.qt.io/qt-4.8/qml-repeater.html)。 QtQml2.2以来、非同期にロードできるRepeaterである['Instantiator '](http://doc.qt.io/qt-5/qml-qtqml-instantiator.html)もあります。また、 'Item.createrObject()'や 'Component.incubateObject()'を使うこともできます。 –
オブジェクトのプロトタイプとして 'Component'を想像することができます。 'C++の'クラスMyClass {} 'のように。 'Instantiator'はアイテムを作成する実際のオブジェクトです。したがって、これらの項目は 'Instantiator'を親にしています。 'Component'の* instance *を作成するときは、親を設定するべきです。 – folibis