QTreeWidgetItemIterator 类

QTreeWidgetItemIterator 类提供了遍历 QTreeWidget 实例中项的一种方式。 更多...

头文件 #include <QTreeWidgetItemIterator>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets

公共类型

枚举IteratorFlag { All, Hidden, NotHidden, Selected, Unselected, …, UserFlag }
标志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 QTreeWidgetItemIteratoroperator++(int)
QTreeWidgetItemIterator &operator+=(int n)
QTreeWidgetItemIterator &operator--()
const QTreeWidgetItemIteratoroperator--(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 的构造函数来过滤掉某些类型的节点。

另请参阅 QTreeWidget模型/视图编程QTreeWidgetItem

成员类型文档

enum 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 组合。

成员函数说明

[显式] QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All)

为给定的 widget 构造一个迭代器,该迭代器使用指定的 flags 来确定在迭代过程中找到哪些项。迭代器被设置为指向该 widget 中包含的第一个顶级项,或者如果顶级项不匹配 flags,则指向下一个匹配的项。

另请参阅QTreeWidgetItemIterator::IteratorFlag

[显式] QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All)

为给定的 item 构造一个迭代器,该迭代器使用指定的 flags 来确定在迭代过程中找到哪些项。如果 item 不匹配 flags,则迭代器被设置为指向 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 并返回其迭代器的引用。

© 2024 The Qt Company Ltd. 本文档中包含的贡献文档的版权归其各自的所有者所有。本提供的文档受免费软件基金会发布的 GNU自由文档许可版本1.3 条款的约束。Qt及其相关标志是芬兰和/或全球其他地区的The Qt Company Ltd.的商标。所有其他商标均为其各自所有者的财产。