QJSValueIterator Class

QJSValueIteratorクラスは、QJSValue のためのJavaスタイルのイテレータを提供します。詳細...

Header: #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

イテレータの前に少なくとも 1 つのアイテムがある場合 (つまり、イテレータがプロパティのシーケンスの後ろにない場合)、true を返します。

next()も参照してください

QString QJSValueIterator::name() const

next() を使用して最後にジャンプオーバーしたプロパティの名前を返します。

value() も参照して ください。

bool QJSValueIterator::next()

イテレータを 1 つ進めます。イテレータの前に少なくとも 1 つの項目がある場合 (つまり、イテレータがまだプロパティ列の最後尾にない場合)、true を返します。

hasNext() およびname()も参照してください

QJSValue QJSValueIterator::value() const

next() を使用して最後にジャンプオーバーしたプロパティの値を返します。

name() も参照

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

イテレータをobject で動作させます。イテレータは、プロパティのシーケンスの先頭(最初のプロパティの前)に設定されます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。