QTreeWidgetItemIterator Class
The QTreeWidgetItemIterator class provides a way to iterate over the items in a QTreeWidget instance. More...
Header: | #include <QTreeWidgetItemIterator> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Public Types
enum | IteratorFlag { All, Hidden, NotHidden, Selected, Unselected, …, UserFlag } |
flags | IteratorFlags |
Public Functions
QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All) | |
QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All) | |
QTreeWidgetItemIterator(const QTreeWidgetItemIterator &it) | |
~QTreeWidgetItemIterator() | |
QTreeWidgetItemIterator & | operator++() |
QTreeWidgetItemIterator & | operator--() |
QTreeWidgetItemIterator & | operator=(const QTreeWidgetItemIterator &it) |
Detailed Description
The iterator will walk the items in a pre-order traversal order, thus visiting the parent node before it continues to the child nodes.
For example, the following code examples each item in a tree, checking the text in the first column against a user-specified search string:
QTreeWidgetItemIterator it(treeWidget); while (*it) { if ((*it)->text(0) == itemText) (*it)->setSelected(true); ++it; }
It is also possible to filter out certain types of node by passing certain flags to the constructor of QTreeWidgetItemIterator.
See also QTreeWidget, Model/View Programming, and QTreeWidgetItem.
Member Type Documentation
enum QTreeWidgetItemIterator::IteratorFlag
flags QTreeWidgetItemIterator::IteratorFlags
These flags can be passed to a QTreeWidgetItemIterator constructor (OR-ed together if more than one is used), so that the iterator will only iterate over items that match the given flags.
Constant | Value |
---|---|
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 |
The IteratorFlags type is a typedef for QFlags<IteratorFlag>. It stores an OR combination of IteratorFlag values.
Member Function Documentation
[explicit]
QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All)
Constructs an iterator for the given widget that uses the specified flags to determine which items are found during iteration. The iterator is set to point to the first top-level item contained in the widget, or the next matching item if the top-level item doesn't match the flags.
See also QTreeWidgetItemIterator::IteratorFlag.
[explicit]
QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All)
Constructs an iterator for the given item that uses the specified flags to determine which items are found during iteration. The iterator is set to point to item, or the next matching item if item doesn't match the flags.
See also QTreeWidgetItemIterator::IteratorFlag.
QTreeWidgetItemIterator::QTreeWidgetItemIterator(const QTreeWidgetItemIterator &it)
Constructs an iterator for the same QTreeWidget as it. The current iterator item is set to point on the current item of it.
[noexcept]
QTreeWidgetItemIterator::~QTreeWidgetItemIterator()
Destroys the iterator.
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator++()
The prefix ++
operator (++it
) advances the iterator to the next matching item and returns a reference to the resulting iterator. Sets the current pointer to nullptr
if the current item is the last matching item.
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator--()
The prefix --
operator (--it
) advances the iterator to the previous matching item and returns a reference to the resulting iterator. Sets the current pointer to nullptr
if the current item is the first matching item.
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator=(const QTreeWidgetItemIterator &it)
Assignment. Makes a copy of it and returns a reference to its iterator.