Класс QTreeWidgetItemIterator
Класс QTreeWidgetItemIterator предоставляет способ итерирования по элементам в экземпляре QTreeWidget. Подробнее...
| Заголовок: | #include <QTreeWidgetItemIterator> |
| 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 — это псевдоним для 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-5.15/qtreewidgetitemiterator.html