Класс QTreeWidgetItemIterator
Класс QTreeWidgetItemIterator предоставляет способ итерирования по элементам в экземпляре QTreeWidget. Подробнее...
| Заголовок: | #include <QTreeWidgetItemIterator> |
| qmake: | QT += widgets |
Типы public
| Перечисление | IteratorFlag { All, Hidden, NotHidden, Selected, Unselected, …, UserFlag } |
| флаги | IteratorFlags |
Функции public
| QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All) | |
| QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All) | |
| 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 = All)
Создаёт итератор для данного item, использующий указанные flags для определения, какие элементы будут найдены во время итерирования. Итератор устанавливается на указание на item, или на следующий соответствующий элемент, если item не соответствует флагам.
См. также QTreeWidgetItemIterator::IteratorFlag.
QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All)
Создаёт итератор для данного 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.14/qtreewidgetitemiterator.html