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::All0x00000000
QTreeWidgetItemIterator::Hidden0x00000001
QTreeWidgetItemIterator::NotHidden0x00000002
QTreeWidgetItemIterator::Selected0x00000004
QTreeWidgetItemIterator::Unselected0x00000008
QTreeWidgetItemIterator::Selectable0x00000010
QTreeWidgetItemIterator::NotSelectable0x00000020
QTreeWidgetItemIterator::DragEnabled0x00000040
QTreeWidgetItemIterator::DragDisabled0x00000080
QTreeWidgetItemIterator::DropEnabled0x00000100
QTreeWidgetItemIterator::DropDisabled0x00000200
QTreeWidgetItemIterator::HasChildren0x00000400
QTreeWidgetItemIterator::NoChildren0x00000800
QTreeWidgetItemIterator::Checked0x00001000
QTreeWidgetItemIterator::NotChecked0x00002000
QTreeWidgetItemIterator::Enabled0x00004000
QTreeWidgetItemIterator::Disabled0x00008000
QTreeWidgetItemIterator::Editable0x00010000
QTreeWidgetItemIterator::NotEditable0x00020000
QTreeWidgetItemIterator::UserFlag0x01000000

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.