QSequentialIterable Class
QSequentialIterable 类是QVariant 中容器的可迭代接口 ...更多
头文件: | #include <QSequentialIterable> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
继承: | QIterable |
公共类型
公共函数
void | addValue(const QVariant &value, QSequentialIterable::Position position = Unspecified) |
QVariant | at(qsizetype idx) const |
void | removeValue(QSequentialIterable::Position position = Unspecified) |
void | set(qsizetype idx, const QVariant &value) |
详细说明
该类允许使用多种方法访问QVariant 中容器的值。如果可以转换为QVariantList ,则可以从QVariant 中提取 QSequentialIterable 的实例。
QList<int>intList= {7, 11, 42};QVariant变量=QVariant::fromValue(intList);if(variant.canConvert<QVariantList>()) {QSequentialIterableiterable=variant.value<QSequentialIterable>();// Can use foreach:foreach(constQVariant&v,iterable) { qDebug() << v; }// 可以使用 C++11 range-for: for(constQVariant&v: iterable) { qDebug() << v; }// 可以使用迭代器: QSequentialIterable::const_iterator it=iterable.begin();const QSequentialIterable::const_iterator end=iterable.end();for( ; it!=end;++it) { qDebug() << *it; } }
在遍历容器之前,容器本身不会被复制。
另请参见 QVariant 。
成员类型文档
[alias]
QSequentialIterable::BidirectionalConstIterator
使用 std::bidirectional_iterator_tag 公开一个const_iterator 。
[alias]
QSequentialIterable::BidirectionalIterator
使用 std::bidirectional_iterator_tag 公开一个迭代器。
[alias]
QSequentialIterable::ForwardConstIterator
使用 std::forward_iterator_tag 公开一个const_iterator 。
[alias]
QSequentialIterable::ForwardIterator
使用 std::forward_iterator_tag 公开一个迭代器。
[alias]
QSequentialIterable::InputConstIterator
使用 std::input_iterator_tag 公开一个const_iterator 。
[alias]
QSequentialIterable::InputIterator
使用 std::input_iterator_tag 公开一个迭代器。
[alias]
QSequentialIterable::RandomAccessConstIterator
使用 std::random_access_iterator_tag 公开一个const_iterator 。
[alias]
QSequentialIterable::RandomAccessIterator
使用 std::random_access_iterator_tag 公开一个迭代器。
[alias]
QSequentialIterable::const_iterator
QSequentialIterable::const_iterator 允许对QVariant 中的容器进行迭代。
QSequentialIterable::const_iterator 只能由QSequentialIterable 实例创建,其使用方式与其他 stl 样式的迭代器类似。
QList<int>intList= {7, 11, 42};QVariant变量=QVariant::fromValue(intList);if(variant.canConvert<QVariantList>()) {QSequentialIterableiterable=variant.value<QSequentialIterable>();// 可以使用 foreach:foreach(constQVariant&v,iterable) { qDebug() << v; }// 可以使用 C++11 range-for: for(constQVariant&v: iterable) { qDebug() << v; }// 可以使用迭代器: QSequentialIterable::const_iterator it=iterable.begin();const QSequentialIterable::const_iterator end=iterable.end();for( ; it!=end;++it) { qDebug() << *it; } }
[alias, since 6.0]
QSequentialIterable::iterator
QSequentialIterable::iterator 允许对QVariant 中的容器进行迭代。
QSequentialIterable::iterator 只能由QSequentialIterable 实例创建,其使用方式与其他 stl 样式的迭代器类似。
该类型定义在 Qt 6.0 中引入。
成员函数文档
void QSequentialIterable::addValue(const QVariant &value, QSequentialIterable::Position position = Unspecified)
如果可能的话,在position 为容器添加value 。
QVariant QSequentialIterable::at(qsizetype idx) const
返回容器中idx 位置的值。
void QSequentialIterable::removeValue(QSequentialIterable::Position position = Unspecified)
从容器中删除一个值,如果可能的话,删除地址为position 。
void QSequentialIterable::set(qsizetype idx, const QVariant &value)
将容器中idx 位置的元素设置为value 。
© 2025 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.