QTreeWidget Class

QTreeWidgetクラスは、定義済みのツリーモデルを使用するツリービューを提供します。詳細...

Header: #include <QTreeWidget>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QTreeView

プロパティ

パブリック関数

QTreeWidget(QWidget *parent = nullptr)
virtual ~QTreeWidget()
void addTopLevelItem(QTreeWidgetItem *item)
void addTopLevelItems(const QList<QTreeWidgetItem *> &items)
void closePersistentEditor(QTreeWidgetItem *item, int column = 0)
int columnCount() const
int currentColumn() const
QTreeWidgetItem *currentItem() const
void editItem(QTreeWidgetItem *item, int column = 0)
QList<QTreeWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags, int column = 0) const
QTreeWidgetItem *headerItem() const
QModelIndex indexFromItem(const QTreeWidgetItem *item, int column = 0) const
int indexOfTopLevelItem(QTreeWidgetItem *item) const
void insertTopLevelItem(int index, QTreeWidgetItem *item)
void insertTopLevelItems(int index, const QList<QTreeWidgetItem *> &items)
QTreeWidgetItem *invisibleRootItem() const
bool isPersistentEditorOpen(QTreeWidgetItem *item, int column = 0) const
QTreeWidgetItem *itemAbove(const QTreeWidgetItem *item) const
QTreeWidgetItem *itemAt(const QPoint &p) const
QTreeWidgetItem *itemAt(int x, int y) const
QTreeWidgetItem *itemBelow(const QTreeWidgetItem *item) const
QTreeWidgetItem *itemFromIndex(const QModelIndex &index) const
QWidget *itemWidget(QTreeWidgetItem *item, int column) const
void openPersistentEditor(QTreeWidgetItem *item, int column = 0)
void removeItemWidget(QTreeWidgetItem *item, int column)
QList<QTreeWidgetItem *> selectedItems() const
void setColumnCount(int columns)
void setCurrentItem(QTreeWidgetItem *item)
void setCurrentItem(QTreeWidgetItem *item, int column)
void setCurrentItem(QTreeWidgetItem *item, int column, QItemSelectionModel::SelectionFlags command)
void setHeaderItem(QTreeWidgetItem *item)
void setHeaderLabel(const QString &label)
void setHeaderLabels(const QStringList &labels)
void setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget)
int sortColumn() const
void sortItems(int column, Qt::SortOrder order)
QTreeWidgetItem *takeTopLevelItem(int index)
QTreeWidgetItem *topLevelItem(int index) const
int topLevelItemCount() const
QRect visualItemRect(const QTreeWidgetItem *item) const

再実装パブリック関数

virtual void setSelectionModel(QItemSelectionModel *selectionModel) override

パブリックスロット

void clear()
void collapseItem(const QTreeWidgetItem *item)
void expandItem(const QTreeWidgetItem *item)
void scrollToItem(const QTreeWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)

シグナル

void currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
void itemActivated(QTreeWidgetItem *item, int column)
void itemChanged(QTreeWidgetItem *item, int column)
void itemClicked(QTreeWidgetItem *item, int column)
void itemCollapsed(QTreeWidgetItem *item)
void itemDoubleClicked(QTreeWidgetItem *item, int column)
void itemEntered(QTreeWidgetItem *item, int column)
void itemExpanded(QTreeWidgetItem *item)
void itemPressed(QTreeWidgetItem *item, int column)
void itemSelectionChanged()

保護された関数

virtual bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action)
virtual QMimeData *mimeData(const QList<QTreeWidgetItem *> &items) const
virtual QStringList mimeTypes() const
virtual Qt::DropActions supportedDropActions() const

再実装された保護された関数

virtual void dropEvent(QDropEvent *event) override
virtual bool event(QEvent *e) override

詳しい説明

QTreeWidget クラスは、Qt 3 のQListView クラスで使われているような、古典的なアイテムベースのインターフェイスを持つ標準的なツリーウィジェットを提供する便利なクラスです。QTreeWidgetItemこのクラスはQtのModel/Viewアーキテクチャに基づいており、アイテムを保持するためにデフォルトのモデルを使用します。

Model/Viewフレームワークの柔軟性を必要としない開発者は、このクラスを使って単純な階層リストを非常に簡単に作成することができます。より柔軟なアプローチとしては、QTreeView を標準の項目モデルと組み合わせる方法があります。これにより、データの保存とその表現を分離することができます。

最も単純な形として、ツリーウィジェットは次のように構築できます:

QTreeWidget *treeWidget = new QTreeWidget();
treeWidget->setColumnCount(1);
QList<QTreeWidgetItem *> items;
for (int i = 0; i < 10; ++i)
    items.append(new QTreeWidgetItem(static_cast<QTreeWidget *>(nullptr), QStringList(QString("item: %1").arg(i))));
treeWidget->insertTopLevelItems(0, items);

アイテムをツリー・ウィジェットに追加する前に、setColumnCount() で列の数を設定する必要があります。これにより、各アイテムは1つ以上のラベルやその他の装飾を持つことができます。使用中の列数はcolumnCount() 関数で確認できます。

ツリーには、ウィジェットの各カラムのセクションを含むヘッダを持つことができます。各セクションのラベルを設定するには、setHeaderLabels() で文字列のリストを指定するのが最も簡単ですが、QTreeWidgetItem でカスタムヘッダーを作成し、setHeaderItem() 関数でツリーに挿入することもできます。

ツリー内の項目は、定義済みのソート順に従って列ごとにソートすることができる。ソートが有効になっている場合、ユーザーは列のヘッダーをクリックすることで、項目をソートすることができます。ソートは、setSortingEnabled() を呼び出すことで、有効にも無効にもできる。isSortingEnabled() 関数は、ソートが有効かどうかを示す。

QTreeWidgetItemQTreeWidgetItemIteratorQTreeViewモデル/ビュー・プログラミングも参照してください

プロパティ Documentation

columnCount : int

このプロパティは、ツリーウィジェットに表示される列の数を保持します。

デフォルトでは、このプロパティの値は 1 です。

アクセス関数

int columnCount() const
void setColumnCount(int columns)

[read-only] topLevelItemCount : const int

このプロパティは、トップレベル項目の数を保持します。

デフォルトでは、このプロパティの値は0である。

アクセス関数:

int topLevelItemCount() const

columnCount() およびcurrentItem()も参照

メンバ関数ドキュメント

[explicit] QTreeWidget::QTreeWidget(QWidget *parent = nullptr)

与えられたparent でツリーウィジェットを構築する。

[virtual noexcept] QTreeWidget::~QTreeWidget()

ツリーウィジェットとそのすべてのアイテムを破棄します。

void QTreeWidget::addTopLevelItem(QTreeWidgetItem *item)

ウィジェットのトップレベル項目としてitem を追加します。

insertTopLevelItem()も参照してください

void QTreeWidget::addTopLevelItems(const QList<QTreeWidgetItem *> &items)

ウィジェットのトップレベル項目としてitems のリストを追加します。

insertTopLevelItems()も参照して ください。

[slot] void QTreeWidget::clear()

すべての項目と選択項目を削除して、ツリー・ウィジェットをクリアします。

注意:各項目は削除される前にツリー・ウィジェットから削除されるため、項目のデストラクタから呼び出された場合、QTreeWidgetItem::treeWidget() の返り値は無効になります。

takeTopLevelItem()、topLevelItemCount()、columnCount()も参照してください

void QTreeWidget::closePersistentEditor(QTreeWidgetItem *item, int column = 0)

指定されたcolumnitem の永続エディタを閉じます。

この関数は、項目と列の組み合わせに対して永続エディタを開いていない場合、何の効果もありません。

openPersistentEditor() およびisPersistentEditorOpen()も参照してください

[slot] void QTreeWidget::collapseItem(const QTreeWidgetItem *item)

item を閉じます。 これにより、アイテムの子を含むツリーが折りたたまれます。

expandItem()、currentItem()、itemAt() およびtopLevelItem() も参照して ください。

int QTreeWidget::currentColumn() const

ツリー・ウィジェットの現在のカラムを返します。

setCurrentItem() およびcolumnCount() も参照

QTreeWidgetItem *QTreeWidget::currentItem() const

ツリーウィジェットの現在の項目を返します。

setCurrentItem() およびcurrentItemChanged() も参照

[signal] void QTreeWidget::currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)

このシグナルは、現在のアイテムが変更されたときに発行されます。現在の項目はcurrent で指定され、これはprevious の現在の項目を置き換えます。

setCurrentItem()も参照して ください。

[override virtual protected] void QTreeWidget::dropEvent(QDropEvent *event)

再実装:QAbstractItemView::dropEvent(QDropEvent *event)。

[virtual protected] bool QTreeWidget::dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action)

指定されたaction で終了したドラッグ&ドロップ操作によって供給されたdata を、指定されたparent アイテムのindex で処理します。

デフォルトの実装では、mimeデータをデコードしてモデルに挿入することでドロップが正常に処理された場合はtrue を返し、そうでない場合はfalse を返します。

それ以外の場合は supportedDropActions を返します。

void QTreeWidget::editItem(QTreeWidgetItem *item, int column = 0)

与えられたcolumnitem が編集可能であれば編集を開始します。

[override virtual protected] bool QTreeWidget::event(QEvent *e)

再実装:QAbstractItemView::event(QEvent *event)。

[slot] void QTreeWidget::expandItem(const QTreeWidgetItem *item)

item を展開します。 これにより、アイテムの子を含むツリーが展開されます。

collapseItem()、currentItem()、itemAt()、topLevelItem()、itemExpanded()も参照してください

QList<QTreeWidgetItem *> QTreeWidget::findItems(const QString &text, Qt::MatchFlags flags, int column = 0) const

指定されたcolumn 内で、指定されたflags を使用して、指定されたtext にマッチする項目のリストを返します。

QTreeWidgetItem *QTreeWidget::headerItem() const

ツリーウィジェットのヘッダーに使用される項目を返します。

setHeaderItem()も参照

QModelIndex QTreeWidget::indexFromItem(const QTreeWidgetItem *item, int column = 0) const

与えられたcolumn 内で、与えられたitem に関連付けられたQModelIndex を返します。

注意: Qt 5.7 より前のバージョンでは、この関数はconst item 以外の値を取っていました。

itemFromIndex() およびtopLevelItem()も参照

int QTreeWidget::indexOfTopLevelItem(QTreeWidgetItem *item) const

与えられたトップレベルitem のインデックスを返します。

sortItems() およびtopLevelItemCount()も参照

void QTreeWidget::insertTopLevelItem(int index, QTreeWidgetItem *item)

ビューのトップ・レベルのindexitem を挿入します。

その項目が既に他の場所に挿入されている場合は、挿入されません。

addTopLevelItem() およびcolumnCount()も参照

void QTreeWidget::insertTopLevelItems(int index, const QList<QTreeWidgetItem *> &items)

ビューのトップ・レベルのindexitems のリストを挿入します。

他の場所に既に挿入されている項目は挿入されません。

addTopLevelItems()も参照してください

QTreeWidgetItem *QTreeWidget::invisibleRootItem() const

ツリーウィジェットの不可視ルートアイテムを返します。

不可視ルートアイテムは、QTreeWidgetItem API を通じてツリーウィジェットのトップレベルアイテムへのアクセスを提供し、例えば再帰関数など、トップレベルアイテムとその子アイテムを統一された方法で扱うことができる関数を書くことを可能にします。

bool QTreeWidget::isPersistentEditorOpen(QTreeWidgetItem *item, int column = 0) const

column の項目item に対して永続エディタが開いているかどうかを返します。

openPersistentEditor() およびclosePersistentEditor()も参照してください

QTreeWidgetItem *QTreeWidget::itemAbove(const QTreeWidgetItem *item) const

指定されたitem より上の項目を返します。

[signal] void QTreeWidget::itemActivated(QTreeWidgetItem *item, int column)

このシグナルは、ユーザがシングルクリックまたはダブルクリック(プラットフォームによって、つまりQStyle::SH_ItemView_ActivateItemOnSingleClick スタイルヒントによって)または特別なキー(例えば、Enter )を押すことによってアイテムをアクティブにしたときに発行されます。

指定されたitem はクリックされた項目であり、クリックされた項目がない場合はnullptr である。column は、クリックされた項目の列であり、クリックされた項目がなければ -1 である。

QTreeWidgetItem *QTreeWidget::itemAt(const QPoint &p) const

座標p にあるアイテムへのポインタを返します。座標は、ツリーウィジェットのviewport() からの相対座標です。

visualItemRect()も参照してください

QTreeWidgetItem *QTreeWidget::itemAt(int x, int y) const

これはオーバーロードされた関数です。

座標 (x,y) にある項目へのポインタを返します。この座標は、ツリーウィジェットのviewport() からの相対座標です。

QTreeWidgetItem *QTreeWidget::itemBelow(const QTreeWidgetItem *item) const

指定されたitem の下にあるアイテムを返します。

[signal] void QTreeWidget::itemChanged(QTreeWidgetItem *item, int column)

このシグナルは、指定されたitemcolumn の内容が変更されたときに発せられます。

[signal] void QTreeWidget::itemClicked(QTreeWidgetItem *item, int column)

このシグナルは、ユーザがウィジェットの内部をクリックしたときに発せられます。

指定されたitem は、クリックされたアイテムです。column は、クリックされた項目の列である。クリックされた項目がない場合、シグナルは発生しません。

[signal] void QTreeWidget::itemCollapsed(QTreeWidgetItem *item)

このシグナルは、指定されたitem が折りたたまれ、どの子も表示されなくなったときに発せられる。

注意: このシグナルは、collapseAll() が呼び出されたときに、アイテムの状態が変更された場合には発生しません。

QTreeWidgetItem::isExpanded()、itemExpanded()、collapseItem()も参照

[signal] void QTreeWidget::itemDoubleClicked(QTreeWidgetItem *item, int column)

このシグナルは、ユーザがウィジェット内をダブルクリックしたときに発せられます。

指定されたitem はクリックされた項目であり、クリックされた項目がない場合はnullptrcolumn は、クリックされた項目の列である。ダブルクリックされた項目がない場合、シグナルは発生しません。

[signal] void QTreeWidget::itemEntered(QTreeWidgetItem *item, int column)

このシグナルは、指定されたcolumn の上にマウスカーソルがitem 入ったときに発せられる。この機能を動作させるには、QTreeWidget マウストラッキングを有効にする必要がある。

[signal] void QTreeWidget::itemExpanded(QTreeWidgetItem *item)

このシグナルは、指定されたitem が展開され、そのすべての子が表示されたときに発せられる。

QTreeWidgetItem::isExpanded()、itemCollapsed()、expandItem()も参照

QTreeWidgetItem *QTreeWidget::itemFromIndex(const QModelIndex &index) const

与えられたindex に関連付けられたQTreeWidgetItem へのポインタを返す。

indexFromItem()も参照

[signal] void QTreeWidget::itemPressed(QTreeWidgetItem *item, int column)

このシグナルは、ユーザがウィジェット内でマウスボタンを押したときに発せられます。

指定されたitem はクリックされた項目であり、クリックされた項目がない場合はnullptr である。指定されたcolumn はクリックされた項目の列、クリックされなかった場合は-1です。

[signal] void QTreeWidget::itemSelectionChanged()

このシグナルは、ツリーウィジェットの選択範囲が変更されたときに発行されます。現在の選択範囲は、selectedItems() で確認できます。

QWidget *QTreeWidget::itemWidget(QTreeWidgetItem *item, int column) const

item と与えられたcolumn で指定されたセルに表示されているウィジェットを返します。

setItemWidget() およびremoveItemWidget()も参照してください

[virtual protected] QMimeData *QTreeWidget::mimeData(const QList<QTreeWidgetItem *> &items) const

指定されたitems の直列化された説明を含むオブジェクトを返します。項目の説明に使用される書式は、mimeTypes() 関数から取得します。

項目のリストが空の場合、シリアライズされた空のリストではなくnullptr が返されます。

[virtual protected] QStringList QTreeWidget::mimeTypes() const

treewidgetアイテムのリストを記述するために使用できるMIMEタイプのリストを返します。

mimeData()も参照してください

void QTreeWidget::openPersistentEditor(QTreeWidgetItem *item, int column = 0)

与えられたcolumnitem の永続エディタを開く。

closePersistentEditor() およびisPersistentEditorOpen() も参照して ください。

void QTreeWidget::removeItemWidget(QTreeWidgetItem *item, int column)

指定されたcolumn の指定されたitem で設定されたウィジェットを削除します。

itemWidget() およびsetItemWidget() も参照して ください。

[slot] void QTreeWidget::scrollToItem(const QTreeWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)

item が表示されていることを確認し、必要に応じて指定されたhint を使用してビューをスクロールします。

currentItem()、itemAt() およびtopLevelItem() も参照

QList<QTreeWidgetItem *> QTreeWidget::selectedItems() const

選択された非表示項目のリストを返します。

itemSelectionChanged() も参照して ください。

void QTreeWidget::setCurrentItem(QTreeWidgetItem *item)

ツリー・ウィジェットの現在のitem を設定します。

選択モードがNoSelection でない限り、その項目も選択されます。

currentItem() およびcurrentItemChanged() も参照

void QTreeWidget::setCurrentItem(QTreeWidgetItem *item, int column)

ツリー・ウィジェットの現在のitem と現在の列をcolumn に設定します。

currentItem() も参照して ください。

void QTreeWidget::setCurrentItem(QTreeWidgetItem *item, int column, QItemSelectionModel::SelectionFlags command)

指定されたcommand を使用して、ツリーウィジェットの現在のitem と現在の列をcolumn に設定します。

currentItem() も参照

void QTreeWidget::setHeaderItem(QTreeWidgetItem *item)

ツリーウィジェットのヘッダitem を設定します。ヘッダ内の各列のラベルは、アイテム内の対応するラベルから供給されます。

ツリーウィジェットはアイテムの所有権を持ちます。

headerItem() およびsetHeaderLabels()も参照

void QTreeWidget::setHeaderLabel(const QString &label)

setHeaderLabels(QStringList(label)) と同じ。

void QTreeWidget::setHeaderLabels(const QStringList &labels)

labels リストの各項目のヘッダーに列を追加し、各列のラベルを設定します。

setHeaderLabels() は既存の列を削除しないことに注意してください。

setHeaderItem() およびsetHeaderLabel()も参照

void QTreeWidget::setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget)

指定されたitem およびcolumn で指定されたセルに表示される、指定されたwidget を設定します。

指定されたwidgetautoFillBackground プロパティは、true に設定されなければなりません。そうでない場合、ウィジェットの背景は透明になり、モデルデータとツリーウィジェットアイテムの両方が表示されます。

この関数は、ツリーウィジェットアイテムの代わりに静的コンテンツを表示する場合にのみ使用してください。カスタム動的コンテンツを表示したり、カスタムエディタウィジェットを実装したい場合は、代わりにQTreeViewQStyledItemDelegate のサブクラスを使用してください。

すなわち、widget が設定される前に、widget を保持するQTreeWidgetItem がビューに追加されていなければなりません。

注: ツリーはwidget の所有権を持ちます。

itemWidget(),removeItemWidget(),Delegate Classesも参照してください

[override virtual] void QTreeWidget::setSelectionModel(QItemSelectionModel *selectionModel)

再インプリメント:QTreeView::setSelectionModel(QItemSelectionModel *selectionModel)。

int QTreeWidget::sortColumn() const

ウィジェットの内容をソートするために使用される列を返します。

sortItems()も参照してください

void QTreeWidget::sortItems(int column, Qt::SortOrder order)

指定されたorder のウィジェット内の項目を、指定されたcolumn の値でソートします。

sortColumn()も参照ください

[virtual protected] Qt::DropActions QTreeWidget::supportedDropActions() const

このビューでサポートされているドロップアクションを返します。

Qt::DropActions参照して ください。

QTreeWidgetItem *QTreeWidget::takeTopLevelItem(int index)

ツリー内の指定されたindex にあるトップレベル項目を削除し、それを返します。そうでない場合はnullptr を返します;

insertTopLevelItem()、topLevelItem()、topLevelItemCount() も参照して ください。

QTreeWidgetItem *QTreeWidget::topLevelItem(int index) const

指定されたindex にあるトップレベル項目、またはその項目が存在しない場合はnullptr を返します。

topLevelItemCount() およびinsertTopLevelItem() も参照

QRect QTreeWidget::visualItemRect(const QTreeWidgetItem *item) const

item の項目が占めるビューポート上の矩形を返します。

itemAt()も参照して ください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。