このページでは

QMetaSequence::Iterable Class

class QMetaSequence::Iterable

QMetaSequence::Iterable クラスは、QVariant 内のコンテナに対する反復可能インターフェースです。詳細...

このクラスは Qt 6.11 で導入されました。

パブリック型

パブリック関数

QVariant at(qsizetype idx) const
void setAt(qsizetype idx, const QVariant &value)

詳細な説明

このクラスを使用すると、QVariant 内に保持されているコンテナの値に、いくつかの方法でアクセスできます。QMetaSequence::Iterable のインスタンスは、QVariant から、それがQVariantList に変換可能な場合、またはその中に含まれるコンテナがQ_DECLARE_SEQUENTIAL_CONTAINER_METATYPE を使用して登録されている場合に抽出できます。Qtに含まれるほとんどのシーケンシャルコンテナや、C++標準ライブラリに含まれる一部のコンテナは、自動的に登録されています。

QList<int>intList={7, 11, 42};

QVariant variant=QVariant::fromValue(intList);
if(variant.canConvert<QVariantList>()) {
    QMetaSequence::Iterable iterable=variant.value<QMetaSequence::Iterable>();
    // C++11のrange-forが使用可能:
    for(constQVariant&v: iterable) {
        qDebug() << v;
    }
    // イテレータを使用可能:
    QMetaSequence::Iterable::const_iteratorit=iterable.begin();
    constQMetaSequence::Iterable::const_iteratorend=iterable.end();
    for( ; it!=end;++it) {
        qDebug() << *it;
    }
}

コンテナ自体は、反復処理を行う前にコピーされることはありません。

QVariantも参照してください 。

メンバ型のドキュメント

[alias] Iterable::BidirectionalConstIterator

std::bidirectional_iterator_tag を使用して const_iterator を公開します。

[alias] Iterable::BidirectionalIterator

std::bidirectional_iterator_tag を使用してイテレータを公開します。

[alias] Iterable::ForwardConstIterator

std::forward_iterator_tag を使用して const_iterator を公開します。

[alias] Iterable::ForwardIterator

std::forward_iterator_tag を使用してイテレータを公開します。

[alias] Iterable::InputConstIterator

std::input_iterator_tag を使用して const_iterator を公開します。

[alias] Iterable::InputIterator

std::input_iterator_tag を使用してイテレータを公開します。

[alias] Iterable::RandomAccessConstIterator

std::random_access_iterator_tag を使用して const_iterator を公開します。

[alias] Iterable::RandomAccessIterator

std::random_access_iterator_tag を使用してイテレータを公開します。

メンバ関数のドキュメント

QVariant Iterable::at(qsizetype idx) const

コンテナ内のidx の位置にある値を返します。

注: 基となるコンテナがインデックス指定による要素の取得をネイティブにサポートしていない場合 、このメソッドはイテレータを使用してアクセスを合成します。この動作は非推奨となっており、将来の Qt バージョンで削除される予定です。

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

void Iterable::setAt(qsizetype idx, const QVariant &value)

コンテナ内のidx の位置にある要素を、value に設定します。

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

© 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.