ListElement QML Type
Import Statement: | import QtQml.Models |
詳細説明
リスト要素はListModel 定義の内部で定義され、ListView またはRepeater の項目を使って表示されるリストの項目を表します。
リスト要素は他のQML要素と同様に定義されますが、プロパティの代わりにロールの定義が含まれます。プロパティ定義と同じ構文で、役割にはデータへのアクセス方法とデータそのものが含まれます。
ロールに使用される名前は、小文字で始まり、与えられたモデル内のすべての要素に共通でなければなりません。値は単純な定数でなければなりません。文字列(引用符で囲み、オプションでQT_TR_NOOP を呼び出す)、ブーリアン値(true、false)、数値、列挙値(AlignText.AlignHCenterなど)のいずれかです。
Qt 5.11 以降の ListElement では、関数宣言をロールに割り当てることもできます。これにより、呼び出し可能なアクションを持つListElementを定義することができます。
ロールの参照
ロール名は、デリゲートがリスト要素からデータを取得するために使用します。各ロール名はデリゲートのスコープでアクセス可能で、現在の要素の対応するロールを参照します。ロール名があいまいな場合は、model プロパティを使用してアクセスすることができます (例:cost
の代わりにmodel.cost
)。
使用例
以下のモデルは一連のリスト要素を定義しており、各要素は "name "と "cost "のロールと関連する値を含んでいます。
ListModel { id: fruitModel ListElement { name: "Apple" cost: 2.45 } ListElement { name: "Orange" cost: 3.25 } ListElement { name: "Banana" cost: 1.95 } }
デリゲートは、name
とcost
を参照するだけで、各要素の名前とコストを取得することができます:
ListView { anchors.fill: parent model: fruitModel delegate: Row { Text { text: "Fruit: " + name } Text { text: "Cost: $" + cost } } }
ListModelも参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。