QJSValueIterator Class
Die Klasse „QJSValueIterator“ stellt einen Iterator im Java-Stil für „ QJSValue “ bereit. Mehr...
| Header: | #include <QJSValueIterator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake: | QT += qml |
Öffentliche Funktionen
| QJSValueIterator(const QJSValue &object) | |
| ~QJSValueIterator() | |
| bool | hasNext() const |
| QString | name() const |
| bool | next() |
| QJSValue | value() const |
| QJSValueIterator & | operator=(QJSValue &object) |
Ausführliche Beschreibung
Der Konstruktor von `QJSValueIterator` nimmt einen ` QJSValue ` als Argument entgegen. Nach der Initialisierung befindet sich der Iterator ganz am Anfang der Eigenschaftssequenz. So durchlaufen Sie alle Eigenschaften eines ` QJSValue`:
QJSValue object;
...
QJSValueIterator it(object);
while (it.hasNext()) {
it.next();
qDebug() << it.name() << ": " << it.value().toString();
}Die Funktion ` next()` schreitet mit dem Iterator voran. Die Funktionen ` name()` und ` value()` geben den Namen und den Wert des letzten Elements zurück, das übersprungen wurde.
Beachten Sie, dass der `QJSValueIterator` nur die eigenen Eigenschaften des ` QJSValue` durchläuft; d. h., er folgt nicht der Prototyp-Kette. Sie können eine Schleife wie diese verwenden, um der Prototyp-Kette zu folgen:
QJSValue obj =...; // das Objekt, über das iteriert werden soll
while (obj.isObject()) {
QJSValueIterator it(obj);
while (it.hasNext()) {
it.next();
qDebug() << it.name();
}
obj = obj.prototype();
}Siehe auch QJSValue::property().
Dokumentation zu Mitgliedsfunktionen
QJSValueIterator::QJSValueIterator(const QJSValue &object)
Erstellt einen Iterator zum Durchlaufen von ` object`. Der Iterator wird so gesetzt, dass er sich am Anfang der Eigenschaftssequenz befindet (vor der ersten Eigenschaft).
[noexcept] QJSValueIterator::~QJSValueIterator()
Löscht den Iterator.
bool QJSValueIterator::hasNext() const
Gibt „true“ zurück, wenn sich mindestens ein Element vor dem Iterator befindet (d. h., der Iterator befindet sich nicht am Ende der Eigenschaftssequenz); andernfalls wird „false“ zurückgegeben.
Siehe auch ` next()`.
QString QJSValueIterator::name() const
Gibt den Namen der letzten Eigenschaft zurück, die mit der Funktion „ next()“ übersprungen wurde.
Siehe auch ` value()`.
bool QJSValueIterator::next()
Verschiebt den Iterator um eine Position nach vorne. Gibt „true“ zurück, wenn sich mindestens ein Element vor dem Iterator befand (d. h., der Iterator befand sich noch nicht am Ende der Eigenschaftssequenz); andernfalls wird „false“ zurückgegeben.
Siehe auch „ hasNext()“ und „ name()“.
QJSValue QJSValueIterator::value() const
Gibt den Wert der letzten Eigenschaft zurück, die mit „ next()“ übersprungen wurde.
Siehe auch ` name()`.
QJSValueIterator &QJSValueIterator::operator=(QJSValue &object)
Stellt sicher, dass der Iterator auf object arbeitet. Der Iterator wird so gesetzt, dass er sich am Anfang der Eigenschaftssequenz befindet (vor der ersten Eigenschaft).
© 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.