Auf dieser Seite

DelegateChooser QML Type

Ermöglicht es einer Ansicht, für verschiedene Elementtypen im Modell unterschiedliche Delegaten zu verwenden. Mehr...

Import Statement: import QtQml.Models
Since: Qt 6.9

Eigenschaften

Ausführliche Beschreibung

Der DelegateChooser ist ein spezieller „ Component “-Typ, der für Szenarien vorgesehen ist, in denen eine Komponente von einer Ansicht benötigt und als Delegat verwendet wird. Der „DelegateChooser“ kapselt eine Reihe von „ DelegateChoices“. Diese Auswahlmöglichkeiten dienen dazu, den Delegaten zu bestimmen, der für jedes Element im Modell instanziiert wird. Die Auswahl erfolgt auf der Grundlage des Werts, den ein Modellelement für „ role “ aufweist, sowie anhand des Index.

„DelegateChooser“ wird häufig verwendet, wenn eine Ansicht eine Reihe von Delegaten anzeigen muss, die sich erheblich voneinander unterscheiden. Beispielsweise könnte eine typische Ansicht für Telefoneinstellungen je nach Art der jeweiligen Einstellung Umschalter, Schieberegler, Optionsfelder und andere Darstellungsformen enthalten. In diesem Fall könnte „DelegateChooser“ eine einfache Möglichkeit bieten, jeder Einstellung einen anderen Delegat-Typ zuzuordnen:

import QtQml.Models
import QtQuick
import QtQuick.Controls

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
}

Hinweis: Dieser Typ ist so konzipiert, dass er nur transparent mit „ TableView “ und allen auf „ DelegateModel “ basierenden Ansichten funktioniert. Ansichten (einschließlich benutzerdefinierter Ansichten), die intern nicht auf einer „ DelegateModel “ basieren, müssen diesen Komponententyp explizit unterstützen, damit er wie beschrieben funktioniert.

Siehe auch DelegateChoice.

Dokumentation zu Eigenschaften

choices : list<DelegateChoice> [default]

Die Liste der „DelegateChoices“ für den Chooser.

Die Liste wird als geordnete Liste behandelt, wobei die erste übereinstimmende „ DelegateChoice “-Eigenschaft von einer Ansicht verwendet wird.

Im Allgemeinen sollte es nicht notwendig sein, auf die Eigenschaft „ choices “ zu verweisen, da es sich um die Standardeigenschaft für „ DelegateChooser “ handelt und somit alle untergeordneten Elemente automatisch dieser Eigenschaft zugewiesen werden.

role : string

Diese Eigenschaft enthält die Rolle oder den Eigenschaftsnamen, anhand dessen der Delegat für ein bestimmtes Modellelement ermittelt wird.

Hinweis: Bei Modellen auf Basis des „ QAbstractItemModel “, einschließlich „ ListModel “, bewertet der „ DelegateChooser “ die Auswahl neu, sobald das Modell signalisiert, dass sich die Rolle geändert hat. Bei allen anderen Modelltypen erfolgt diese Auswahl nur einmal, und zwar beim Anlegen des Elements für einen bestimmten Modellindex.

Siehe auch DelegateChoice.

© 2026 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.