Spec-Zone.ru › Qt 5.11

Класс QJSValueIterator

Класс QJSValueIterator предоставляет итератор в стиле Java для QJSValue. Подробнее...

Заголовок: #include <QJSValueIterator>
qmake: QT += qml
  • Список всех членов, включая наследуемые

Открытые функции

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

Подробное описание

Класс QJSValueIterator предоставляет итератор в стиле Java для QJSValue.

Конструктор QJSValueIterator принимает QJSValue в качестве аргумента. После создания итератор находится в самом начале последовательности свойств. Вот как перебрать все свойства QJSValue:

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

Функция next() перемещает итератор на следующую позицию. Функции name() и value() возвращают имя и значение последнего элемента, который был пропущен.

Обратите внимание, что QJSValueIterator перебирает только собственные свойства QJSValue; он не следует цепочке прототипов. Вы можете использовать цикл, подобный этому, для следования цепочке прототипов:

QJSValue obj = ...; // the object to iterate over
while (obj.isObject()) {
    QJSValueIterator it(obj);
    while (it.hasNext()) {
        it.next();
        qDebug() << it.name();
    }
    obj = obj.prototype();
}

См. также QJSValue::property().

Документация по функциям-членам

QJSValueIterator::QJSValueIterator(const QJSValue &object)

Создаёт итератор для обхода object. Итератор устанавливается в начало последовательности свойств (перед первым свойством).

QJSValueIterator::~QJSValueIterator()

Удаляет итератор.

bool QJSValueIterator::hasNext() const

Возвращает true, если перед итератором есть хотя бы один элемент (то есть итератор не находится в конце последовательности свойств); в противном случае возвращает false.

См. также next().

QString QJSValueIterator::name() const

Возвращает имя последнего свойства, которое было пропущено с помощью next().

См. также value().

bool QJSValueIterator::next()

Перемещает итератор на одну позицию вперед. Возвращает true, если перед итератором был хотя бы один элемент (то есть итератор ещё не находился в конце последовательности свойств); в противном случае возвращает false.

См. также hasNext() и name().

QJSValue QJSValueIterator::value() const

Возвращает значение последнего свойства, которое было пропущено с помощью next().

См. также name().

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

Настраивает итератор для работы с object. Итератор устанавливается в начало последовательности свойств (перед первым свойством).

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qjsvalueiterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API