Spec-Zone.ru › Qt 5.9

Класс 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/qt-5.9/qjsvalueiterator.html

Spec-Zone.ru

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