Sur cette page

ObjectModel QML Type

Définit un ensemble d'éléments à utiliser comme modèle. Plus d'informations...

Import Statement: import QtQml.Models

Propriétés

Propriétés rattachées

Méthodes

  • 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)

Description détaillée

Un ObjectModel contient les éléments visuels à utiliser dans une vue. Lorsqu'un ObjectModel est utilisé dans une vue, cette dernière n'a pas besoin de délégué puisque l'ObjectModel contient déjà le délégué visuel (éléments).

Un élément peut déterminer son index dans le modèle via la propriété index attached.

L'exemple ci-dessous place trois rectangles colorés dans une vue 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
    }
}

Trois rectangles colorés empilés dans un ListView

Voir également Qt Quick Exemples - Vues.

Documentation sur les propriétés

count : int [read-only]

Le nombre d'éléments dans le modèle. Cette propriété est en lecture seule.

Documentation sur la propriété Attached

ObjectModel.index : int

Cette propriété jointe contient l'index de l'élément de ce délégué dans le modèle.

Elle est attachée à chaque instance du délégué.

Documentation de la méthode

void append(object item)

Ajoute un nouveau item à la fin du modèle.

objectModel.append(objectComponent.createObject())

Voir aussi insert() et remove().

void clear()

Efface tous les éléments du modèle.

Voir également append() et remove().

object get(int index)

Renvoie l'élément à l'adresse index dans le modèle. Cela permet d'accéder à l'élément ou de le modifier à partir de JavaScript :

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

L'adresse index doit être un élément de la liste.

Voir également append().

void insert(int index, object item)

Insère un nouveau item dans le modèle à la position index.

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

L'adresse index doit correspondre à un élément existant de la liste ou à un élément situé après la fin de la liste (équivalent à append).

Voir également append() et remove().

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

Déplace les éléments n from d'une position to d'une autre.

Les plages de et à doivent exister ; par exemple, pour déplacer les 3 premiers éléments à la fin du modèle :

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

Voir aussi append().

void remove(int index, int n = 1)

Supprime du modèle les éléments de n à index.

Voir également 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.