QTreeWidgetItemIterator Class
QTreeWidgetItemIterator 类为遍历QTreeWidget 实例中的项目提供了一种方法。更多
Header: | #include <QTreeWidgetItemIterator> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
公共类型
enum | IteratorFlag { All, Hidden, NotHidden, Selected, Unselected, …, UserFlag } |
flags | IteratorFlags |
公共函数
QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All) | |
QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All) | |
QTreeWidgetItemIterator(const QTreeWidgetItemIterator &it) | |
~QTreeWidgetItemIterator() | |
QTreeWidgetItem * | operator*() const |
QTreeWidgetItemIterator & | operator++() |
const QTreeWidgetItemIterator | operator++(int) |
QTreeWidgetItemIterator & | operator+=(int n) |
QTreeWidgetItemIterator & | operator--() |
const QTreeWidgetItemIterator | operator--(int) |
QTreeWidgetItemIterator & | operator-=(int n) |
QTreeWidgetItemIterator & | operator=(const QTreeWidgetItemIterator &it) |
详细说明
迭代器将以预序遍历顺序遍历条目,因此在继续遍历子节点之前先遍历父节点。
例如,以下代码举例说明了树状结构中的每个项目,并根据用户指定的搜索字符串检查第一列中的文本:
QTreeWidgetItemIterator it(treeWidget); while (*it) { if ((*it)->text(0) == itemText) (*it)->setSelected(true); ++it; }
还可以通过向 QTreeWidgetItemIterator 的构造函数传递某些flags 来过滤掉某些类型的节点。
另请参阅 QTreeWidget 、模型/视图编程和QTreeWidgetItem 。
成员类型文档
枚举 QTreeWidgetItemIterator::IteratorFlag
flags QTreeWidgetItemIterator::IteratorFlags
这些标志可以传递给QTreeWidgetItemIterator 构造函数(如果使用了多个标志,则将它们连在一起),以便迭代器只迭代符合给定标志的项目。
常量 | 值 |
---|---|
QTreeWidgetItemIterator::All | 0x00000000 |
QTreeWidgetItemIterator::Hidden | 0x00000001 |
QTreeWidgetItemIterator::NotHidden | 0x00000002 |
QTreeWidgetItemIterator::Selected | 0x00000004 |
QTreeWidgetItemIterator::Unselected | 0x00000008 |
QTreeWidgetItemIterator::Selectable | 0x00000010 |
QTreeWidgetItemIterator::NotSelectable | 0x00000020 |
QTreeWidgetItemIterator::DragEnabled | 0x00000040 |
QTreeWidgetItemIterator::DragDisabled | 0x00000080 |
QTreeWidgetItemIterator::DropEnabled | 0x00000100 |
QTreeWidgetItemIterator::DropDisabled | 0x00000200 |
QTreeWidgetItemIterator::HasChildren | 0x00000400 |
QTreeWidgetItemIterator::NoChildren | 0x00000800 |
QTreeWidgetItemIterator::Checked | 0x00001000 |
QTreeWidgetItemIterator::NotChecked | 0x00002000 |
QTreeWidgetItemIterator::Enabled | 0x00004000 |
QTreeWidgetItemIterator::Disabled | 0x00008000 |
QTreeWidgetItemIterator::Editable | 0x00010000 |
QTreeWidgetItemIterator::NotEditable | 0x00020000 |
QTreeWidgetItemIterator::UserFlag | 0x01000000 |
IteratorFlags 类型是QFlags<IteratorFlag> 的类型定义。它存储 IteratorFlag 值的 OR 组合。
成员函数文档
[explicit]
QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All)
为给定的widget 构造一个迭代器,该迭代器使用指定的flags 来决定在迭代过程中找到哪些项目。迭代器被设置为指向 widget 中包含的第一个顶层项,如果顶层项与标志不匹配,则指向下一个匹配项。
另请参见 QTreeWidgetItemIterator::IteratorFlag 。
[explicit]
QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All)
为给定的item 构造一个迭代器,使用指定的flags 来确定在迭代过程中找到哪些项目。迭代器被设置为指向item ,如果item 与标志不匹配,则指向下一个匹配项。
另请参阅 QTreeWidgetItemIterator::IteratorFlag 。
QTreeWidgetItemIterator::QTreeWidgetItemIterator(const QTreeWidgetItemIterator &it)
为与it 相同的QTreeWidget 构造迭代器。当前迭代器项被设置为指向it 的当前项。
[noexcept]
QTreeWidgetItemIterator::~QTreeWidgetItemIterator()
销毁迭代器。
QTreeWidgetItem *QTreeWidgetItemIterator::operator*() const
取消引用操作符。返回指向当前项目的指针。
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator++()
前缀++
操作符 (++it
) 将迭代器前进到下一个匹配项,并返回对结果迭代器的引用。如果当前项目是最后一个匹配项目,则将当前指针设置为nullptr
。
const QTreeWidgetItemIterator QTreeWidgetItemIterator::operator++(int)
后缀 ++ 操作符(it++)会将迭代器前进到下一个匹配项,并返回一个指向先前当前项的迭代器。
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator+=(int n)
通过n 匹配项,使迭代器向前移动。(如果 n 为负数,迭代器会向后退)。
如果当前项目超出最后一个项目,当前项目指针将被设置为nullptr
。返回结果迭代器。
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator--()
前缀--
运算符 (--it
) 将迭代器向前推进到前一个匹配项,并返回结果迭代器的引用。如果当前项是第一个匹配项,则将当前指针设置为nullptr
。
const QTreeWidgetItemIterator QTreeWidgetItemIterator::operator--(int)
后缀 - 运算符 (it-) 使前一个匹配项成为当前项,并返回一个指向前一个当前项的迭代器。
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator-=(int n)
通过n 使迭代器向后移动匹配项。(如果 n 为负数,则迭代器向前移动)。
如果当前项在最后一项之前,则当前项指针将被设置为nullptr
。返回结果迭代器。
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator=(const QTreeWidgetItemIterator &it)
赋值。创建it 的副本,并返回其迭代器的引用。
© 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.