Sur cette page

QJSValueIterator Class

La classe `QJSValueIterator` fournit un itérateur de type Java pour QJSValue. En savoir plus...

En-tête : #include <QJSValueIterator>
CMake : find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake : QT += qml

Fonctions publiques

QJSValueIterator(const QJSValue &object)
~QJSValueIterator()
bool hasNext() const
QString name() const
bool next()
QJSValue value() const
QJSValueIterator &operator=(QJSValue &object)

Description détaillée

Le constructeur QJSValueIterator prend un objet ` QJSValue ` en argument. Une fois créé, l'itérateur se trouve tout au début de la séquence de propriétés. Voici comment parcourir toutes les propriétés d'un objet ` QJSValue` :

QJSValue object;
...
QJSValueIterator it(object);
while (it.hasNext()) {
    it.next();
    qDebug() << it.name() << ": " << it.value().toString();
}

La méthode ` next()` fait avancer l'itérateur. Les fonctions ` name()` et ` value()` renvoient respectivement le nom et la valeur du dernier élément qui a été sauté.

Notez que QJSValueIterator ne parcourt que les propriétés propres à QJSValue; c'est-à-dire qu'il ne suit pas la chaîne de prototypes. Vous pouvez utiliser une boucle comme celle-ci pour suivre la chaîne de prototypes :

QJSValue obj =...; // l'objet à parcourir
while (obj.isObject()) {
    QJSValueIterator it(obj);
    while (it.hasNext()) {
        it.next();
        qDebug() << it.name();
    }
    obj = obj.prototype();
}

Voir aussi QJSValue::property().

Documentation sur les fonctions membres

QJSValueIterator::QJSValueIterator(const QJSValue &object)

Crée un itérateur permettant de parcourir object. L'itérateur est positionné au début de la séquence de propriétés (avant la première propriété).

[noexcept] QJSValueIterator::~QJSValueIterator()

Détruit l'itérateur.

bool QJSValueIterator::hasNext() const

Renvoie « true » s'il reste au moins un élément avant l'itérateur (c'est-à-dire que l'itérateur ne se trouve pas à la fin de la séquence de propriétés) ; sinon, renvoie « false ».

Voir aussi next().

QString QJSValueIterator::name() const

Renvoie le nom de la dernière propriété qui a été ignorée à l'aide de la fonction next().

Voir aussi value().

bool QJSValueIterator::next()

Fait avancer l'itérateur d'une position. Renvoie « true » s'il y avait au moins un élément devant l'itérateur (c'est-à-dire si l'itérateur ne se trouvait pas déjà à la fin de la séquence de propriétés) ; sinon, renvoie « false ».

Voir également hasNext() et name().

QJSValue QJSValueIterator::value() const

Renvoie la valeur de la dernière propriété qui a été ignorée à l'aide de la fonction next().

Voir aussi name().

QJSValueIterator &QJSValueIterator::operator=(QJSValue &object)

Fait en sorte que l'itérateur opère sur object. L'itérateur est placé au début de la séquence de propriétés (avant la première propriété).

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