QSequentialIterable 类
QSequentialIterable 类是一个 QVariant 容器的可迭代接口。...
头文件 | #include <QSequentialIterable> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
继承 | QIterable |
公共类型
BidirectionalConstIterator | |
BidirectionalIterator | |
ForwardConstIterator | |
ForwardIterator | |
InputConstIterator | |
InputIterator | |
RandomAccessConstIterator | |
RandomAccessIterator | |
const_iterator | |
(自 6.0) | iterator |
公共函数
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 中的容器中的值。如果一个 QSequentialIterable 的实例可以被转换为一个 QVariantList,那么就可以从一个 QVariant 中提取出来。
QList<int> intList = {7, 11, 42}; QVariant variant = QVariant::fromValue(intList); if (variant.canConvert<QVariantList>()) { QSequentialIterable iterable = variant.value<QSequentialIterable>(); // Can use foreach: foreach (const QVariant &v, iterable) { qDebug() << v; } // Can use C++11 range-for: for (const QVariant &v : iterable) { qDebug() << v; } // Can use iterators: QSequentialIterable::const_iterator it = iterable.begin(); const QSequentialIterable::const_iterator end = iterable.end(); for ( ; it != end; ++it) { qDebug() << *it; } }
迭代容器之前不会复制容器本身。
另请参阅QVariant。
成员类型文档
[别名]
QSequentialIterable::BidirectionalConstIterator
通过使用 std::bidirectional_iterator_tag 披露一个 const_iterator。
[别名]
QSequentialIterable::BidirectionalIterator
通过使用 std::bidirectional_iterator_tag 披露一个迭代器。
[别名]
QSequentialIterable::ForwardConstIterator
通过使用 std::forward_iterator_tag 披露一个 const_iterator。
[别名]
QSequentialIterable::ForwardIterator
通过使用 std::forward_iterator_tag 披露一个迭代器。
[别名]
QSequentialIterable::InputConstIterator
通过使用 std::input_iterator_tag 披露一个 const_iterator。
[别名]
QSequentialIterable::InputIterator
通过使用 std::input_iterator_tag 披露一个迭代器。
[别称]
QSequentialIterable::RandomAccessConstIterator
使用 std::random_access_iterator_tag 暴露一个 const_iterator。
[别称]
QSequentialIterable::RandomAccessIterator
使用 std::random_access_iterator_tag 暴露一个迭代器。
[别称]
QSequentialIterable::const_iterator
QSequentialIterable::const_iterator 允许在 QVariant 中遍历容器。
QSequentialIterable::const_iterator 只能由一个 QSequentialIterable 实例创建,并且可以像其他 STL 样式迭代器一样使用。
QList<int> intList = {7, 11, 42}; QVariant variant = QVariant::fromValue(intList); if (variant.canConvert<QVariantList>()) { QSequentialIterable iterable = variant.value<QSequentialIterable>(); // Can use foreach: foreach (const QVariant &v, iterable) { qDebug() << v; } // Can use C++11 range-for: for (const QVariant &v : iterable) { qDebug() << v; } // Can use iterators: QSequentialIterable::const_iterator it = iterable.begin(); const QSequentialIterable::const_iterator end = iterable.end(); for ( ; it != end; ++it) { qDebug() << *it; } }
[别称, 自 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。
© 2024 The Qt Company Ltd. 本文档中的贡献的版权属于其各自的所有者。本提供的文档是根据免费软件基金会发布的 GNU 自由文档许可版本 1.3 的条款许可的。Qt 和相应的标志是芬兰 The Qt Company Ltd. 及其全球子公司和关联公司的商标。所有其他商标均为其各自所有者的财产。