Класс QTreeWidgetItemIterator
Класс QTreeWidgetItemIterator предоставляет способ итерации по элементам в экземпляре QTreeWidget. Подробнее...
| Заголовок: | #include <QTreeWidgetItemIterator> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
Типы публичного интерфейса
| Перечисление | IteratorFlag { Все, Скрытые, НеСкрытые, Выбранные, НеВыбранные, …, ФлагПользователя } |
| Флаги | IteratorFlags |
Публичные функции
| QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = Все) | |
| QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = Все) | |
| QTreeWidgetItemIterator(const QTreeWidgetItemIterator &it) | |
| QTreeWidgetItemIterator & | operator=(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 it(treeWidget);
while (*it) {
if ((*it)->text(0) == itemText)
(*it)->setSelected(true);
++it;
} Также возможно отфильтровать определенные типы узлов, передавая определенные флаги в конструктор QTreeWidgetItemIterator.
См. также QTreeWidget, Программирование модели/представления и QTreeWidgetItem.
Документация по типам членов
Перечисление QTreeWidgetItemIterator::IteratorFlagФлаги 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 — это typedef для QFlags<IteratorFlag>. Он хранит результат побитового ИЛИ соединения значений IteratorFlag.
Документация по функциям-членам
QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = Все)
Конструирует итератор для заданного item, который использует указанные flags для определения, какие элементы будут найдены во время итерации. Итератор устанавливается в указание на item или следующий соответствующий элемент, если item не соответствует флагам.
См. также QTreeWidgetItemIterator::IteratorFlag.
QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = Все)
Конструирует итератор для заданного widget, который использует указанные flags для определения, какие элементы будут найдены во время итерации. Итератор устанавливается в указание на первый элемент верхнего уровня, содержащийся в виджете, или следующий соответствующий элемент, если элемент верхнего уровня не соответствует флагам.
См. также QTreeWidgetItemIterator::IteratorFlag.
QTreeWidgetItemIterator::QTreeWidgetItemIterator(const QTreeWidgetItemIterator &it)
Конструирует итератор для того же QTreeWidget, что и it. Текущий итератор устанавливается на текущий элемент it.
QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator=(const QTreeWidgetItemIterator &it)
Присваивание. Создаёт копию it и возвращает ссылку на её итератор.
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. Возвращает получившуюся итератор.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtreewidgetitemiterator.html