Spec-Zone.ru › Qt 6.1

Класс QJSValueIterator

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

Заголовок: #include <QJSValueIterator>
CMake: find_package(Qt6 COMPONENTS Qml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake: QT += qml
  • Список всех членов, включая унаследованные

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

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

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

Конструктор 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::operator=(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().

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

Spec-Zone.ru

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