DelegateChooser QML Type
ビューがモデル内の異なる種類のアイテムに対して異なるデリゲートを使用できるようにします。詳細...
Import Statement: | import Qt.labs.qmlmodels |
プロパティ
詳細説明
DelegateChooserは、Componentがビューで必要とされ、デリゲートとして使用されるシナリオのための特別なComponent 型です。DelegateChooser は、DelegateChoiceのセットをカプセル化します。 これらの選択肢は、モデル内の各項目に対してインスタンス化されるデリゲートを決定するために使用されます。選択肢の選択は、モデル項目がrole に持つ値に基づいて、またインデックスに基づいて実行されます。
DelegateChooserは、ビューが互いに大きく異なるデリゲートのセットを表示する必要がある場合に、一般的に使用されます。例えば、典型的な電話設定ビューには、トグルスイッチ、スライダ、ラジオボタン、および各設定のタイプに基づくその他のビジュアライゼーションが含まれるかもしれません。この場合、DelegateChooserは、各設定に異なるタイプのデリゲートを関連付ける簡単な方法を提供できる:
import QtQuick import QtQuick.Controls import Qt.labs.qmlmodels ListView { width: 200; height: 400 ListModel { id: listModel ListElement { type: "info"; ... } ListElement { type: "switch"; ... } ListElement { type: "swipe"; ... } ListElement { type: "switch"; ... } } DelegateChooser { id: chooser role: "type" DelegateChoice { roleValue: "info"; ItemDelegate { ... } } DelegateChoice { roleValue: "switch"; SwitchDelegate { ... } } DelegateChoice { roleValue: "swipe"; SwipeDelegate { ... } } } model: listModel delegate: chooser }
注: このタイプは、TableView およびDelegateModel ベースのビューでのみ透過的に動作することを意図しています。内部的にDelegateModel に基づいていないビュー(ユーザー定義ビューを含む)は、このタイプのコンポーネントを明示的にサポートして、説明どおりに機能させる必要があります。
DelegateChoiceも参照してください 。
プロパティのドキュメント
choices : list<DelegateChoice> |
Chooser の DelegateChoices のリスト。
このリストは順序付きリストとして扱われ、最初にマッチしたDelegateChoice がビューとして使用されます。
choices
プロパティはDelegateChooser のデフォルトプロパティであり、したがって、すべての子項目は自動的にこのプロパティに割り当てられるため、通常、参照する必要はありません。
role : string |
このプロパティは、指定されたモデルアイテムのデリゲートを決定するために使用されるロールまたはプロパティ名を保持します。
注: ListModel を含むQAbstractItemModel ベースのモデルの場合、DelegateChooser は、モデルが役割が変更されたことを通知すると、選択を再評価します。その他のタイプのモデルでは、この選択は、与えられたモデルインデックスの項目が作成されるときに一度だけ行われます。
DelegateChoiceも参照してください 。
このドキュメントに含まれるコントリビューションの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。