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も参照して ください。
© 2025 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.