QJSValueIterator 类
QJSValueIterator 类提供了一个 Java 风格的迭代器,用于遍历 QJSValue。更多...
头文件 | #include <QJSValueIterator> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
qmake | QT += qml |
公共函数
QJSValueIterator(const QJSValue &object) | |
~QJSValueIterator() | |
bool | hasNext() const |
QString | name() const |
bool | next() |
QJSValue | value() const |
QJSValueIterator & | operator=(QJSValue &object) |
详细描述
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 的迭代器。迭代器被设置为属性序列的起始位置(在第一个属性之前)。
[noexcept]
QJSValueIterator::~QJSValueIterator()
销毁迭代器。
bool QJSValueIterator::hasNext() const
如果迭代器前方至少有一个项目(即迭代器不在属性序列的末尾),则返回 true;否则返回 false。
另请参阅 next().
QString QJSValueIterator::name() const
使用 next() 返回上一次跳过的属性的名称。
另请参阅 value().
bool QJSValueIterator::next()
通过一个位置推进迭代器。如果迭代器前方至少有一个项目(即迭代器不在属性序列的末尾),则返回true;否则返回false。
QJSValue QJSValueIterator::value() const
返回使用 next() 跳过的最后一个属性的值。
另请参阅name()。
QJSValueIterator &QJSValueIterator::operator=(QJSValue &object)
使迭代器在 object 上操作。迭代器设置为属性序列的前面(在第一个属性之前)。
© 2024 Qt公司有限。此处包含的文档贡献归各自的拥有者所有。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可协议第1.3版许可的。Qt及其相关标志是芬兰以及世界其他国家的Qt公司商标。所有其他商标均为各自拥有者的财产。