Sur cette page

list QML Value Type

une liste d'objets QML. Plus d'informations...

Description détaillée

Le type list fait référence à une liste d'objets ou de valeurs QML.

Les propriétés de type list sont vides par défaut.

Un site list peut stocker des objets QML ou des valeurs de type value.

Lors de l'intégration avec C++, il convient de noter que toute valeur QQmlListProperty transmise à QML à partir de C++ est automatiquement convertie en valeur list, et vice-versa.

De même, toute valeur QList<T> d'un type de valeur enregistré T est automatiquement convertie en valeur list, et vice-versa.

Utilisation du type de liste

Par exemple, le type Item possède une propriété states list-type qui peut être affectée et utilisée comme suit :

import QtQuick

Item {
    width: 100; height: 100

    states: [
        State { name: "activated" },
        State { name: "deactivated" }
    ]

    Component.onCompleted: {
        console.log("Name of first state:", states[0].name)
        for (var i = 0; i < states.length; i++)
            console.log("state", i, states[i].name)
    }
}

Les objets State définis seront ajoutés à la liste states dans l'ordre dans lequel ils sont définis.

Si la liste ne contient qu'un seul objet, les crochets peuvent être omis :

import QtQuick

Item {
    width: 100; height: 100
    states: State { name: "activated" }
}

Vous pouvez également déclarer vos propres propriétés de liste en QML :

import QtQml

QtObject {
    property list<int> intList: [1, 2, 3, 4]
    property list<QtObject> objectList
}

Les listes peuvent être utilisées de la même manière que les tableaux JavaScript. Les listes peuvent être utilisées de la même manière que les tableaux JavaScript, par exemple :

  • Les valeurs sont attribuées en utilisant la syntaxe des crochets [] avec des valeurs séparées par des virgules.
  • La propriété length indique le nombre d'éléments de la liste.
  • Les valeurs de la liste sont accessibles à l'aide de la syntaxe [index].
  • Vous pouvez utiliser push() pour ajouter des entrées
  • Vous pouvez définir la propriété length de la liste pour la tronquer ou l'allonger.

Cependant, vous ne pouvez pas étendre automatiquement la liste en l'assignant à un index actuellement hors de portée. En outre, si vous insérez des valeurs null dans une liste d'objets, celles-ci sont converties en entrées nullptr dans la liste sous-jacente QQmlListProperty.

Une liste de types de valeurs diffère d'un tableau JavaScript par un autre aspect important : La croissance de la liste en fixant sa longueur ne produit pas d'entrées indéfinies, mais plutôt des instances du type de valeur construites par défaut.

De même, la croissance d'une liste de types d'objets de cette manière produit des entrées nulles, plutôt que des entrées indéfinies.

Ce type de valeur est fourni par le langage QML.

Voir aussi Types de valeurs QML.

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