QTreeWidgetItemIterator Class
QTreeWidgetItemIterator 类提供了一种遍历QTreeWidget 实例中各项的方法。更多内容...
| 头文件: | #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 。
成员类型文档
enum 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> 的 typedef。它存储了 IteratorFlag 值的“或”组合。
成员函数文档
[explicit] QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All)
为给定的widget 构建一个迭代器,该迭代器使用指定的flags 来确定迭代过程中找到哪些项目。该迭代器被设置为指向小部件中包含的第一个顶级项目,或者如果该顶级项目与标志不匹配,则指向下一个匹配的项目。
另请参阅 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 `,并返回其迭代器的引用。
© 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.