Auf dieser Seite

ObjectModel QML Type

Definiert eine Reihe von Elementen, die als Vorlage dienen sollen. Mehr...

Import Statement: import QtQml.Models

Eigenschaften

Zugehörige Eigenschaften

Methoden

  • void append(object item)
  • void clear()
  • QtObject get(int index)
  • void insert(int index, object item)
  • void move(int from, int to, int n)
  • void remove(int index, int n)

Ausführliche Beschreibung

Ein ObjectModel enthält die visuellen Elemente, die in einer Ansicht verwendet werden sollen. Wenn ein ObjectModel in einer Ansicht verwendet wird, benötigt die Ansicht keinen Delegaten, da das ObjectModel bereits den visuellen Delegaten (Elemente) enthält.

Ein Element kann seinen Index innerhalb des Modells über die angehängte Eigenschaft „ index “ ermitteln.

Im folgenden Beispiel werden drei farbige Rechtecke in einem „ ListView “ platziert.

import QtQuick 2.0
import QtQml.Models 2.1

Rectangle {
    ObjectModel {
        id: itemModel
        Rectangle { height: 30; width: 80; color: "red" }
        Rectangle { height: 30; width: 80; color: "green" }
        Rectangle { height: 30; width: 80; color: "blue" }
    }

    ListView {
        anchors.fill: parent
        model: itemModel
    }
}

Drei farbige Rechtecke, die in einer ListView übereinander angeordnet sind

Siehe auch „Qt Quick -Beispiele – Ansichten“.

Dokumentation zur Eigenschaft

count : int [read-only]

Die Anzahl der Elemente im Modell. Diese Eigenschaft ist schreibgeschützt.

Dokumentation zu den angehängten Eigenschaften

ObjectModel.index : int [attached]

Diese angehängte Eigenschaft enthält den Index des Elements dieses Delegaten innerhalb des Modells.

Sie ist an jede Instanz des Delegaten angehängt.

Methodendokumentation

void append(object item)

Fügt ein neues „ item “ am Ende des Modells ein.

objectModel.append(objectComponent.createObject())

Siehe auch „ insert()“ und „ remove()“.

void clear()

Löscht alle Elemente aus dem Modell.

Siehe auch append() und remove().

QtObject get(int index)

Gibt das Element unter „ index “ im Modell zurück. Dadurch kann von JavaScript aus auf das Element zugegriffen oder es geändert werden:

Component.onCompleted: {
    objectModel.append(objectComponent.createObject())
    console.log(objectModel.get(0).objectName);
    objectModel.get(0).objectName = "first";
}

index muss ein Element in der Liste sein.

Siehe auch ` append()`.

void insert(int index, object item)

Fügt ein neues Element vom Typ „ item “ an der Position „ index “ in das Modell ein.

objectModel.insert(2, objectComponent.createObject())

Der ` index ` muss auf ein vorhandenes Element in der Liste verweisen oder auf ein Element hinter dem Ende der Liste (entspricht dem Hinzufügen am Ende).

Siehe auch „ append()“ und „ remove()“.

void move(int from, int to, int n = 1)

Verschiebt die Elemente „ n “ from eine Position to eine andere.

Die Bereiche „from“ und „to“ müssen vorhanden sein; um beispielsweise die ersten 3 Elemente an das Ende des Modells zu verschieben:

objectModel.move(0, objectModel.count - 3, 3)

Siehe auch „ append()“.

void remove(int index, int n = 1)

Entfernt die Elemente „ n “ unter index aus dem Modell.

Siehe auch clear().

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