Auf dieser Seite

ObjectModel QML Type

Definiert einen Satz von Elementen, die als Modell verwendet werden sollen. Mehr...

Import Statement: import QtQml.Models

Eigenschaften

Beigefügte Eigenschaften

Methoden

  • void append(object item)
  • void clear()
  • object 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 bestimmen.

Das folgende Beispiel platziert drei farbige Rechtecke in einer ListView.

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 gestapelt in einer ListView

Siehe auch Qt Quick Beispiele - Ansichten.

Eigenschaft Dokumentation

count : int [read-only]

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

Dokumentation der angehängten Eigenschaft

ObjectModel.index : int

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

Sie wird an jede Instanz des Delegaten angehängt.

Dokumentation der Methode

void append(object item)

Hängt eine neue item an das Ende des Modells an.

objectModel.append(objectComponent.createObject())

Siehe auch insert() und remove().

void clear()

Löscht alle Elemente aus dem Modell.

Siehe auch append() und remove().

object get(int index)

Gibt das Element unter index im Modell zurück. Dadurch kann das Element von JavaScript aus aufgerufen oder geändert werden:

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

Die Adresse index muss ein Element in der Liste sein.

Siehe auch append().

void insert(int index, object item)

Fügt ein neues item an der Position index in das Modell ein.

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

Die index muss zu einem bestehenden Eintrag in der Liste oder einem Eintrag hinter dem Ende der Liste gehören (entspricht append).

Siehe auch append() und remove().

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

Verschiebt n Elemente from eine Position to eine andere.

Die Bereiche from und to müssen vorhanden sein; zum Beispiel, um 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 n Elemente auf 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.