このページでは

QTreeWidgetItemIterator Class

QTreeWidgetItemIterator クラスは、QTreeWidget インスタンス内の項目を順に処理する方法を提供します。詳細...

ヘッダー: #include <QTreeWidgetItemIterator>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets

パブリック型

enum IteratorFlag { All, Hidden, NotHidden, Selected, Unselected, …, UserFlag }
flags IteratorFlags

パブリック関数

QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All)
QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All)
QTreeWidgetItemIterator(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 &operator=(const QTreeWidgetItemIterator &it)

詳細な説明

イテレータは、先順探索の順序で項目を順に処理するため、子ノードに進む前に親ノードを処理します。

たとえば、次のコード例では、ツリー内の各項目について、最初の列のテキストをユーザー指定の検索文字列と照合しています。

QTreeWidgetItemIterator it(treeWidget);
while (*it) {
    if ((*it)->text(0) == itemText)
        (*it)->setSelected(true);
    ++it;
}

また、QTreeWidgetItemIterator のコンストラクタに特定のflags を渡すことで、特定の種類のノードを除外することも可能です。

「 QTreeWidget 」、「Model/Viewプログラミング」、および「QTreeWidgetItem 」も参照してください 。

メンバ型のドキュメント

enum QTreeWidgetItemIterator::IteratorFlag
flags QTreeWidgetItemIterator::IteratorFlags

これらのフラグは、QTreeWidgetItemIterator のコンストラクタに引数として渡すことができます(複数のフラグを使用する場合はOR演算で結合されます)。これにより、イテレータは指定されたフラグに一致する項目のみを反復処理するようになります。

定数値
QTreeWidgetItemIterator::All0x00000000
QTreeWidgetItemIterator::Hidden0x00000001
QTreeWidgetItemIterator::NotHidden0x00000002
QTreeWidgetItemIterator::Selected0x00000004
QTreeWidgetItemIterator::Unselected0x00000008
QTreeWidgetItemIterator::Selectable0x00000010
QTreeWidgetItemIterator::NotSelectable0x00000020
QTreeWidgetItemIterator::DragEnabled0x00000040
QTreeWidgetItemIterator::DragDisabled0x00000080
QTreeWidgetItemIterator::DropEnabled0x00000100
QTreeWidgetItemIterator::DropDisabled0x00000200
QTreeWidgetItemIterator::HasChildren0x00000400
QTreeWidgetItemIterator::NoChildren0x00000800
QTreeWidgetItemIterator::Checked0x00001000
QTreeWidgetItemIterator::NotChecked0x00002000
QTreeWidgetItemIterator::Enabled0x00004000
QTreeWidgetItemIterator::Disabled0x00008000
QTreeWidgetItemIterator::Editable0x00010000
QTreeWidgetItemIterator::NotEditable0x00020000
QTreeWidgetItemIterator::UserFlag0x01000000

IteratorFlags 型は、QFlags<IteratorFlag> の typedef です。これは、IteratorFlag 値の OR 組み合わせを格納します。

メンバ関数のドキュメント

[explicit] QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget *widget, QTreeWidgetItemIterator::IteratorFlags flags = All)

指定されたwidget に対して、指定されたflags を用いて反復処理中にどの項目が見つかるかを決定するイテレータを生成します。このイテレータは、ウィジェットに含まれる最初のトップレベル項目、あるいはそのトップレベル項目がフラグと一致しない場合は、次に一致する項目を指すように設定されます。

QTreeWidgetItemIterator::IteratorFlagも参照してください 。

[explicit] QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidgetItem *item, QTreeWidgetItemIterator::IteratorFlags flags = All)

指定されたitem に対して、指定されたflags を用いて反復処理中にどの項目が見つかるかを決定するイテレータを作成します。このイテレータは、item を指すように設定されます。ただし、item がフラグと一致しない場合は、次に一致する項目を指すように設定されます。

QTreeWidgetItemIterator::IteratorFlagも参照してください 。

QTreeWidgetItemIterator::QTreeWidgetItemIterator(const QTreeWidgetItemIterator &it)

it と同じQTreeWidget に対するイテレータを生成します。現在のイテレータの項目は、it の現在の項目を指すように設定されます。

[noexcept] 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)

postfix – 演算子 (it–) は、その直前にある一致した項目を現在の項目とし、直前に現在の項目だった項目へのイテレータを返します。

QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator-=(int n)

n 個の項目を一致させて、イテレータを逆方向に移動させます(nが負の値の場合、イテレータは順方向に移動します)。

現在の項目が最後の項目の前方に位置している場合、現在の項目ポインタはnullptr に設定されます。結果のイテレータを返します。

QTreeWidgetItemIterator &QTreeWidgetItemIterator::operator=(const QTreeWidgetItemIterator &it)

代入。it のコピーを作成し、そのイテレータへの参照を返します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.