Класс 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 является псевдонимом для 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 для определения элементов, которые будут найдены во время итерации. Итератор устанавливается на первый элемент верхнего уровня, содержащийся в widget, или на следующий соответствующий элемент, если элемент верхнего уровня не соответствует флагам.
См. также 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.0/qtreewidgetitemiterator.html