ListElement QML Type

ListModel のデータ項目を定義する

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
    }
}

デリゲートは、namecost を参照するだけで、各要素の名前とコストを取得することができます:

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。