QJSValueIterator Class
QJSValueIterator クラスは、QJSValue 用の Java スタイルのイテレータを提供します。詳細...
| ヘッダー: | #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=...;// 反復処理の対象となるオブジェクト
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を返します。それ以外の場合はfalseを返します。
next()も参照してください 。
QString QJSValueIterator::name() const
next() を使用してスキップされた最後のプロパティの名前を返します。
value()も参照してください 。
bool QJSValueIterator::next()
イテレータを1つ分前進させます。イテレータの先方に少なくとも1つの項目があった場合(つまり、イテレータがプロパティシーケンスの末尾にまだ到達していなかった場合)、trueを返します。それ以外の場合はfalseを返します。
hasNext() およびname()も参照してください 。
QJSValue QJSValueIterator::value() const
next() を使用してスキップされた最後のプロパティの値を返します。
name()も参照してください 。
QJSValueIterator &QJSValueIterator::operator=(QJSValue &object)
イテレータが `object` 上で動作するようにします。イテレータは、プロパティのシーケンスの先頭(最初のプロパティの前)に位置するように設定されます。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.