このページでは

QTreeView Class

QTreeView クラスは、ツリービューのデフォルトのモデル/ビュー実装を提供します。詳細...

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

QHelpContentWidget およびQTreeWidget

プロパティ

パブリック関数

QTreeView(QWidget *parent = nullptr)
virtual ~QTreeView()
bool allColumnsShowFocus() const
int autoExpandDelay() const
int columnAt(int x) const
int columnViewportPosition(int column) const
int columnWidth(int column) const
bool expandsOnDoubleClick() const
QHeaderView *header() const
int indentation() const
QModelIndex indexAbove(const QModelIndex &index) const
QModelIndex indexBelow(const QModelIndex &index) const
bool isAnimated() const
bool isColumnHidden(int column) const
bool isExpanded(const QModelIndex &index) const
bool isFirstColumnSpanned(int row, const QModelIndex &parent) const
bool isHeaderHidden() const
bool isRowHidden(int row, const QModelIndex &parent) const
bool isSortingEnabled() const
(since 6.12) QRect itemDecorationRect(const QModelIndex &index) const
bool itemsExpandable() const
void resetIndentation()
bool rootIsDecorated() const
void setAllColumnsShowFocus(bool enable)
void setAnimated(bool enable)
void setAutoExpandDelay(int delay)
void setColumnHidden(int column, bool hide)
void setColumnWidth(int column, int width)
void setExpanded(const QModelIndex &index, bool expanded)
void setExpandsOnDoubleClick(bool enable)
void setFirstColumnSpanned(int row, const QModelIndex &parent, bool span)
void setHeader(QHeaderView *header)
void setHeaderHidden(bool hide)
void setIndentation(int i)
void setItemsExpandable(bool enable)
void setRootIsDecorated(bool show)
void setRowHidden(int row, const QModelIndex &parent, bool hide)
void setSortingEnabled(bool enable)
void setTreePosition(int index)
void setUniformRowHeights(bool uniform)
void setWordWrap(bool on)
int treePosition() const
bool uniformRowHeights() const
bool wordWrap() const

再実装されたパブリック関数

virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>()) override
virtual QModelIndex indexAt(const QPoint &point) const override
virtual void keyboardSearch(const QString &search) override
virtual void reset() override
virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override
virtual void selectAll() override
virtual void setModel(QAbstractItemModel *model) override
virtual void setRootIndex(const QModelIndex &index) override
virtual void setSelectionModel(QItemSelectionModel *selectionModel) override
virtual QRect visualRect(const QModelIndex &index) const override

パブリックスロット

void collapse(const QModelIndex &index)
void collapseAll()
void expand(const QModelIndex &index)
void expandAll()
void expandRecursively(const QModelIndex &index, int depth = -1)
void expandToDepth(int depth)
void hideColumn(int column)
void resizeColumnToContents(int column)
void showColumn(int column)
void sortByColumn(int column, Qt::SortOrder order)

シグナル

void collapsed(const QModelIndex &index)
void expanded(const QModelIndex &index)

protected関数

virtual void drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const
virtual void drawRow(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
void drawTree(QPainter *painter, const QRegion &region) const
int indexRowSizeHint(const QModelIndex &index) const
int rowHeight(const QModelIndex &index) const

再実装されたプロテクトされた関数

virtual void changeEvent(QEvent *event) override
virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous) override
virtual void dragMoveEvent(QDragMoveEvent *event) override
virtual int horizontalOffset() const override
virtual bool isIndexHidden(const QModelIndex &index) const override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void mouseDoubleClickEvent(QMouseEvent *event) override
virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
virtual void paintEvent(QPaintEvent *event) override
virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override
virtual void rowsInserted(const QModelIndex &parent, int start, int end) override
virtual void scrollContentsBy(int dx, int dy) override
virtual QModelIndexList selectedIndexes() const override
virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override
virtual int sizeHintForColumn(int column) const override
virtual void timerEvent(QTimerEvent *event) override
virtual void updateGeometries() override
virtual int verticalOffset() const override
virtual bool viewportEvent(QEvent *event) override
virtual QSize viewportSizeHint() const override
virtual QRegion visualRegionForSelection(const QItemSelection &selection) const override

再実装されたプロテクトされたスロット

void columnCountChanged(int oldCount, int newCount)
void columnMoved()
void columnResized(int column, int oldSize, int newSize)
void rowsRemoved(const QModelIndex &parent, int start, int end)

詳細な説明

ツリービューを使用してコンテンツを表示するディレクトリウィジェット

QTreeView は、モデルからの項目をツリー形式で表現します。このクラスは、以前はQListView クラスによって提供されていた標準的な階層リストを、Qtのモデル/ビューアーキテクチャが提供するより柔軟なアプローチを用いて実現するために使用されます。

QTreeViewクラスはモデル/ビュークラスの一つであり、Qtのモデル/ビューフレームワークの一部です。

QTreeView は、QAbstractItemView クラスによって定義されたインターフェースを実装しており、QAbstractItemModel クラスを継承したモデルから提供されるデータを表示することができます。

モデルからのデータを表示するツリービューを作成するのは簡単です。次の例では、ディレクトリの内容がQFileSystemModel によって提供され、ツリーとして表示されています。

QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());
QTreeView *tree = new QTreeView(splitter);
tree->setModel(model);

モデル/ビューアーキテクチャにより、モデルの変更に応じてツリービューの内容が確実に更新されます。

子要素を持つ項目は、展開状態(子要素が表示されている)または折りたたみ状態(子要素が非表示)のいずれかになります。この状態が変化すると、関連する項目のモデルインデックスを含む `collapsed()` または `expanded()` シグナルが発信されます。

階層レベルを示すためのインデントの量は、indentation プロパティによって制御されます。

ツリービューのヘッダーは `QHeaderView ` クラスを使用して構築され、`header()->hide()` を使用して非表示にすることができます。各ヘッダーは `stretchLastSection ` プロパティが `true` に設定されるように構成されており、これによりビューがヘッダー用に割り当てられたスペースを無駄にしないことが保証されます。この値が `true` に設定されている場合、このプロパティはヘッダーの最後のセクションに設定されたリサイズモードよりも優先されます。

デフォルトでは、ツリービューの最初の列を除くすべての列は移動可能です。これらの列の移動を無効にするには、QHeaderView のsetSectionsMovable()関数を使用します。セクションの再配置に関する詳細については、Moving Header Sections を参照してください。

キーバインド

QTreeView は、ユーザーがビュー内を移動したり、項目の内容と操作を行ったりできるようにする一連のキーバインドをサポートしています:

キーアクション
上カーソルを、前の行の同じ列にある項目に移動します。現在の項目の親に、さらに移動できる行がない場合、カーソルは、その親の直前の兄弟要素の最終行にある該当する項目に移動します。
下カーソルを、同じ列の次の行にある項目に移動します。現在の項目の親に、さらに移動できる行がない場合、カーソルは、その親の直後に続く兄弟要素の最初の行にある該当項目に移動します。
左ブランチを折りたたむことで、現在の項目の子項目(存在する場合)を非表示にします。
マイナス「左」と同じ動作をします。
右ブランチを展開して、現在の項目の子項目(存在する場合)を表示します。
プラス「右」と同じです。
アスタリスク現在の項目とそのすべての子項目(存在する場合)を展開します。
PageUpカーソルを 1 ページ分上に移動します。
PageDownカーソルを 1 ページ分下に移動します。カーソルを1ページ分下に移動します。
Homeカーソルを、モデルの最上位項目の最初の行の同じ列にある項目に移動します。
Endカーソルを、モデル内の最後の最上位項目の最後の行の、同じ列にある項目に移動します。
F2編集可能なモデルでは、現在の項目を開いて編集します。Escape キーを使用すると、編集プロセスをキャンセルし、表示されているデータへの変更を元に戻すことができます。

パフォーマンスの向上

多数の項目を表示する際のパフォーマンスを向上させるために、ビューが処理するデータに関するヒントをビューに与えることができます。高さが均一な項目を表示することを目的としたビューでは、uniformRowHeights プロパティをtrueに設定するという方法があります。

関連項目: QListView 、QTreeWidget 、View Classes、QAbstractItemModel 、およびQAbstractItemView 。

プロパティのドキュメント

allColumnsShowFocus : bool

このプロパティは、項目がすべての列を使用してキーボードフォーカスを表示すべきかどうかを指定します

このプロパティがtrue に設定されている場合、すべての列にフォーカスが表示されます。それ以外の場合は、1つの列にのみフォーカスが表示されます。

デフォルト値は false です。

アクセス関数:

bool allColumnsShowFocus() const
void setAllColumnsShowFocus(bool enable)

animated : bool

このプロパティは、アニメーションが有効かどうかを指定します

このプロパティがtrue に設定されている場合、ツリービューはブランチの展開および折りたたみをアニメーション表示します。このプロパティがfalse に設定されている場合、ツリービューはアニメーションを表示せずにブランチを即座に展開または折りたたみます。

デフォルトでは、このプロパティはfalse に設定されています。

アクセス関数:

bool isAnimated() const
void setAnimated(bool enable)

autoExpandDelay : int

このプロパティは、ドラッグ&ドロップ操作中にツリー内の項目が開かれるまでの遅延時間を保持します。

このプロパティは、ノードが自動的に展開されるまでに、ユーザーがそのノード上で待機しなければならない時間をミリ秒単位で保持します。この時間が 0 未満に設定されている場合、自動展開は有効になりません。

デフォルトでは、このプロパティの値は -1 であり、自動展開が無効になっていることを意味します。

アクセス関数:

int autoExpandDelay() const
void setAutoExpandDelay(int delay)

expandsOnDoubleClick : bool

このプロパティは、項目をダブルクリックして展開できるかどうかを指定します。

このプロパティは、ユーザーがダブルクリックによって項目を展開または折りたたむことができるかどうかを示します。デフォルト値は true です。

アクセス関数:

bool expandsOnDoubleClick() const
void setExpandsOnDoubleClick(bool enable)

関連項目: itemsExpandable 。

headerHidden : bool

このプロパティは、ヘッダーを表示するかどうかを指定します。

このプロパティが `true` の場合、ヘッダーは表示されず、それ以外の場合は表示されます。デフォルト値は `false` です。

アクセス関数:

bool isHeaderHidden() const
void setHeaderHidden(bool hide)

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

indentation : int

ツリービュー内の項目のインデント。

このプロパティは、ツリービューの各レベルにおける項目のインデント(ピクセル単位)を保持します。最上位の項目については、インデントはビューポートの端から最初の列にある項目までの水平距離を指定し、子項目については、親項目からのインデントを指定します。

デフォルトでは、このプロパティの値はスタイルに依存します。したがって、スタイルが変更されると、このプロパティはその変更に基づいて更新されます。setIndentation() を呼び出すと更新が停止し、resetIndentation() を呼び出すとデフォルトの動作が復元されます。

アクセス関数:

int indentation() const
void setIndentation(int i)
void resetIndentation()

itemsExpandable : bool

このプロパティは、ユーザーが項目を展開できるかどうかを示します。

このプロパティは、ユーザーがインタラクティブに項目を展開および折りたたむことができるかどうかを示します。

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

アクセス関数:

bool itemsExpandable() const
void setItemsExpandable(bool enable)

rootIsDecorated : bool

このプロパティは、最上位項目の展開・折りたたみ用のコントロールを表示するかどうかを指定します。

子要素を持つ項目には通常、展開・折りたたみ用のコントロールが表示され、その子要素を表示または非表示にすることができます。このプロパティが false の場合、最上位項目にはこれらのコントロールが表示されません。これにより、単一レベルのツリー構造を単純な項目のリストのように表示させることができます。

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

アクセス関数:

bool rootIsDecorated() const
void setRootIsDecorated(bool show)

sortingEnabled : bool

このプロパティは、ソート機能が有効かどうかを示します

このプロパティが `true` の場合、ツリーでソートが有効になります。`false` の場合、ソートは無効になります。デフォルト値は `false` です。

注: パフォーマンス上の問題を回避するため 、ツリーに項目を挿入した後にソートを有効にすることを推奨します。あるいは、ツリーに項目を挿入する前に、リストに項目を挿入することも可能です。

アクセス関数:

bool isSortingEnabled() const
void setSortingEnabled(bool enable)

関連項目: sortByColumn()

uniformRowHeights : bool

このプロパティは、ツリービュー内のすべてのアイテムの高さが同じであるかどうかを示します

このプロパティは、ビュー内のすべてのアイテムの高さが同じであることが保証されている場合にのみ、true に設定してください。これにより、ビューでいくつかの最適化を行うことが可能になります。

高さは、ビュー内の最初の項目から取得されます。この値は、その項目のデータが変更された際に更新されます。

注: エディタのサイズヒントがセルのサイズヒントよりも大きい場合 、エディタのサイズヒントが使用されます。

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

アクセス関数:

bool uniformRowHeights() const
void setUniformRowHeights(bool uniform)

wordWrap : bool

このプロパティは、項目のテキストの改行ルールを指定します

このプロパティが `true ` に設定されている場合、項目のテキストは必要に応じて単語の区切りで折り返されます。それ以外の場合は、一切折り返されません。このプロパティのデフォルト値は `false ` です。

なお、改行が有効になっている場合でも、テキストをすべて収めるためにセルが拡張されることはありません。省略記号は、現在のtextElideMode の設定に従って挿入されます。

Access関数:

bool wordWrap() const
void setWordWrap(bool on)

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

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

モデルのデータを表すparent を含むツリービューを構築します。モデルを設定するには、setModel() を使用してください。

QAbstractItemModelも参照してください 。

[virtual noexcept] QTreeView::~QTreeView()

ツリービューを破棄します。

[override virtual protected] void QTreeView::changeEvent(QEvent *event)

QFrame::changeEvent(QEvent *ev) を再実装します。

[slot] void QTreeView::collapse(const QModelIndex &index)

index で指定されたモデル項目を折りたたみます。

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

[slot] void QTreeView::collapseAll()

展開されている項目をすべて折りたたみます。

expandAll()、expand()、collapse()、およびsetExpanded()も参照してください 。

[signal] void QTreeView::collapsed(const QModelIndex &index)

index で指定された項目が折りたたまれたときに、このシグナルが発生します。

int QTreeView::columnAt(int x) const

指定されたx 座標をヘッダーが覆うツリービューの列を返します。

[protected slot] void QTreeView::columnCountChanged(int oldCount, int newCount)

ツリービューの列数が、oldCount からnewCount に変更されたことをツリービューに通知します。

[protected slot] void QTreeView::columnMoved()

このスロットは、列が移動されたたびに呼び出されます。

[protected slot] void QTreeView::columnResized(int column, int oldSize, int newSize)

この関数は、ヘッダー内のcolumn のサイズが変更されるたびに呼び出されます。oldSize およびnewSize は、それぞれ以前のサイズと新しいサイズをピクセル単位で返します。

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

int QTreeView::columnViewportPosition(int column) const

ビューポート内におけるcolumn の水平位置を返します。

int QTreeView::columnWidth(int column) const

column の幅を返します。

resizeColumnToContents() およびsetColumnWidth()も参照してください 。

[override virtual protected] void QTreeView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

QAbstractItemView::currentChanged (const QModelIndex &current, const QModelIndex &previous)を再実装します。

[override virtual] void QTreeView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())

QAbstractItemView::dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles)を再実装します。

[override virtual protected] void QTreeView::dragMoveEvent(QDragMoveEvent *event)

QAbstractItemView::dragMoveEvent(QDragMoveEvent *event) を再実装します。

[virtual protected] void QTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const

指定されたpainter を使用して、ツリービュー内のブランチを、モデル項目index と同じ行に描画します。ブランチは、rect で指定された矩形内に描画されます。

[virtual protected] void QTreeView::drawRow(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const

指定されたpainter を使用して、モデル項目index を含むツリービューの行を描画します。option は、項目の表示方法を制御します。

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

[protected] void QTreeView::drawTree(QPainter *painter, const QRegion &region) const

指定された「region 」と交差するツリーの一部を、指定された「painter 」を使用して描画します。

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

[slot] void QTreeView::expand(const QModelIndex &index)

index で指定されたモデル項目を展開します。

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

[slot] void QTreeView::expandAll()

展開可能な項目をすべて展開します。

注:この関数は 、データのfetch more 処理を行いません。

警告: モデルに多数の項目が含まれている場合 、この関数の実行には時間がかかることがあります。

関連項目: collapseAll()、expand()、collapse()、およびsetExpanded()。

[slot] void QTreeView::expandRecursively(const QModelIndex &index, int depth = -1)

指定されたindex にある項目とそのすべての子要素を、指定されたdepth まで展開します。depth は、指定されたindex を基準としています。depth を-1に設定するとすべての子要素が展開され、depth を0に設定すると、指定されたindex のみが展開されます。

注:この関数は 、データのfetch more を行おうとはしません。

警告: モデルに多数の項目が含まれている場合 、この関数の実行には時間がかかることがあります。

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

[slot] void QTreeView::expandToDepth(int depth)

指定されたdepth まで、展開可能な項目をすべて展開します。

注:この関数は 、fetch more データを展開しようとはしません。

関連項目: expandAll()、collapseAll()、expand()、collapse()、およびsetExpanded()。

[signal] void QTreeView::expanded(const QModelIndex &index)

このシグナルは、index で指定された項目が展開されたときに発生します。

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

ツリービューのヘッダーを返します。

setHeader() およびQAbstractItemModel::headerData()も参照してください 。

[slot] void QTreeView::hideColumn(int column)

指定されたcolumn を非表示にします。

注: column を非表示にするにはビューが列数を把握する必要があるため、この関数はモデルが 初期化された後にのみ呼び出す必要があります。

関連項目: showColumn() およびsetColumnHidden()。

[override virtual protected] int QTreeView::horizontalOffset() const

QAbstractItemView::horizontalOffset() const を再実装します。

ツリービュー内の項目の水平方向のオフセットを返します。

ツリービューでは、ビュー内の列の位置を決定するために、ヘッダーセクションの水平位置が使用されることに注意してください。

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

QModelIndex QTreeView::indexAbove(const QModelIndex &index) const

index より上の項目のモデルインデックスを返します。

[override virtual] QModelIndex QTreeView::indexAt(const QPoint &point) const

QAbstractItemView::indexAt (const QPoint &point)const を再実装します。

QModelIndex QTreeView::indexBelow(const QModelIndex &index) const

index の直下に存在する項目のモデルインデックスを返します。

[protected] int QTreeView::indexRowSizeHint(const QModelIndex &index) const

index で指定された行のサイズヒントを返します。

sizeHintForColumn() およびuniformRowHeights()も参照してください 。

bool QTreeView::isColumnHidden(int column) const

column が非表示の場合は `true ` を返し、それ以外の場合は `false` を返します。

hideColumn() およびisRowHidden()も参照してください 。

bool QTreeView::isExpanded(const QModelIndex &index) const

モデル項目index が展開されている場合はtrue を返し、そうでない場合は false を返します。

expand()、expanded()、およびsetExpanded()も参照してください 。

bool QTreeView::isFirstColumnSpanned(int row, const QModelIndex &parent) const

指定されたrow のparent の最初の列にある項目が、すべての列にまたがっている場合はtrue を返し、そうでない場合はfalse を返します。

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

[override virtual protected] bool QTreeView::isIndexHidden(const QModelIndex &index) const

QAbstractItemView::isIndexHidden(const QModelIndex &index) const を再実装します。

bool QTreeView::isRowHidden(int row, const QModelIndex &parent) const

parent の指定されたrow にある項目が非表示の場合、true を返します。それ以外の場合は、false を返します。

setRowHidden() およびisColumnHidden()も参照してください 。

[since 6.12] QRect QTreeView::itemDecorationRect(const QModelIndex &index) const

index にある項目の展開/折りたたみインジケータが占める矩形を返します。例えば、子要素がない場合やルート装飾が無効になっている場合など、その項目にそのようなインジケータがない場合、返される矩形は無効となります。無効な `index ` も、無効な矩形を返します。

この関数は Qt 6.12 で導入されました。

visualRect() およびQStyle::SE_TreeViewDisclosureItemも参照してください 。

[override virtual protected] void QTreeView::keyPressEvent(QKeyEvent *event)

QAbstractItemView::keyPressEvent(QKeyEvent *event) を再実装します。

[override virtual] void QTreeView::keyboardSearch(const QString &search)

QAbstractItemView::keyboardSearch(const QString &search) の再実装です。

[override virtual protected] void QTreeView::mouseDoubleClickEvent(QMouseEvent *event)

QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event) を再実装します。

[override virtual protected] void QTreeView::mouseMoveEvent(QMouseEvent *event)

QAbstractItemView::mouseMoveEvent(QMouseEvent *event) を再実装しています。

[override virtual protected] void QTreeView::mousePressEvent(QMouseEvent *event)

QAbstractItemView::mousePressEvent(QMouseEvent *event) を再実装します。

[override virtual protected] void QTreeView::mouseReleaseEvent(QMouseEvent *event)

QAbstractItemView::mouseReleaseEvent(QMouseEvent *event) を再実装します。

[override virtual protected] QModelIndex QTreeView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)

QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) を再実装します。

ボタンmodifiers から提供された情報を用いて、cursorAction で指定された方法でカーソルを移動します。

[override virtual protected] void QTreeView::paintEvent(QPaintEvent *event)

QAbstractScrollArea::paintEvent(QPaintEvent *event) を再実装します。

[override virtual] void QTreeView::reset()

QAbstractItemView::reset() を再実装します。

[slot] void QTreeView::resizeColumnToContents(int column)

指定されたcolumn を、その内容に合わせてサイズ変更します。

columnWidth()、setColumnWidth()、sizeHintForColumn()、およびQHeaderView::resizeContentsPrecision()も参照してください 。

[protected] int QTreeView::rowHeight(const QModelIndex &index) const

指定されたindex で示される行の高さを返します。

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

[override virtual protected] void QTreeView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)

QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) を再実装します。

start の行からend の行(これらを含む)までの行が、指定されたparent モデル項目から削除されようとしていることをビューに通知します。

[override virtual protected] void QTreeView::rowsInserted(const QModelIndex &parent, int start, int end)

QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end) を再実装します。

start の行からend の行(両端を含む)までの行が、parent モデル項目に挿入されたことをビューに通知します。

[protected slot] void QTreeView::rowsRemoved(const QModelIndex &parent, int start, int end)

指定されたparent モデル項目から、start 行からend 行まで(これら2行を含む)の行が削除されたことをビューに通知します。

[override virtual protected] void QTreeView::scrollContentsBy(int dx, int dy)

QAbstractScrollArea::scrollContentsBy(int dx, int dy) を再実装します。

ツリービューの内容を (dx,dy) だけスクロールします。

[override virtual] void QTreeView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)

QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint) を再実装します。

指定されたモデル項目index が表示されるまで、ツリービューの内容をスクロールします。hint パラメータは、操作後にその項目が配置される位置をより正確に指定します。モデル項目の親のいずれかが折りたたまれている場合、その項目が表示されるように、親は展開されます。

[override virtual] void QTreeView::selectAll()

QAbstractItemView::selectAll() を再実装します。

[override virtual protected] QModelIndexList QTreeView::selectedIndexes() const

QAbstractItemView::selectedIndexes() const を再実装します。

[override virtual protected] void QTreeView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

QAbstractItemView::selectionChanged (const QItemSelection &selected, const QItemSelection &deselected)を再実装します。

void QTreeView::setColumnHidden(int column, bool hide)

hide が true の場合、column は非表示になり、そうでない場合はcolumn が表示されます。

isColumnHidden()、hideColumn()、およびsetRowHidden()も参照してください 。

void QTreeView::setColumnWidth(int column, int width)

指定されたcolumn の幅を、指定されたwidth に設定します。

columnWidth() およびresizeColumnToContents()も参照してください 。

void QTreeView::setExpanded(const QModelIndex &index, bool expanded)

`index ` で参照される項目を、`expanded` の値に応じて、折りたたみ状態または展開状態のいずれかに設定します。

expanded()、expand()、およびisExpanded()も参照してください 。

void QTreeView::setFirstColumnSpanned(int row, const QModelIndex &parent, bool span)

span が true の場合、row の 1 列目にあり、指定されたparent を持つ項目は、すべての列にまたがるように設定されます。それ以外の場合は、row にあるすべての項目が表示されます。

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

void QTreeView::setHeader(QHeaderView *header)

ツリービューのヘッダーを、指定されたheader に設定します。

ビューは指定されたheader の所有権を取得し、新しいヘッダーが設定されるとそれを削除します。

QAbstractItemModel::headerData()も参照してください 。

[override virtual] void QTreeView::setModel(QAbstractItemModel *model)

QAbstractItemView::setModel(QAbstractItemModel *model) を再実装しています。

[override virtual] void QTreeView::setRootIndex(const QModelIndex &index)

QAbstractItemView::setRootIndex(const QModelIndex &index) を再実装します。

void QTreeView::setRowHidden(int row, const QModelIndex &parent, bool hide)

hide がtrueの場合、指定されたparent を持つrow は非表示になり、そうでない場合はrow が表示されます。

isRowHidden() およびsetColumnHidden()も参照してください 。

[override virtual protected] void QTreeView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)

QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) を再実装します。

矩形内、または矩形に接触している項目に対して、選択command を適用します。rect 。

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

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

QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel) を再実装します。

void QTreeView::setTreePosition(int index)

これは、ツリー構造を論理インデックスindex に配置することを指定します。 が -1 に設定されている場合、ツリーは常に視覚インデックス 0 に従います。

treePosition()、QHeaderView::swapSections()、およびQHeaderView::moveSection()も参照してください 。

[slot] void QTreeView::showColumn(int column)

指定されたcolumn をツリービューに表示します。

hideColumn() およびsetColumnHidden()も参照してください 。

[override virtual protected] int QTreeView::sizeHintForColumn(int column) const

QAbstractItemView::sizeHintForColumn(int column) const を再実装します。

column の幅に関するサイズヒントを返します。モデルが存在しない場合は -1 を返します。

特定の列の幅を固定値に設定する必要がある場合は、ビューのヘッダーで `QHeaderView::resizeSection()` を呼び出してください。

サブクラスでこの関数を再実装する場合、返される値はresizeColumnToContents() が呼び出されたときにのみ使用されることに注意してください。その場合、ビューのヘッダーまたはアイテムデリゲートのいずれかによってより広い列幅が要求された場合は、その幅が代わりに使用されます。

QWidget::sizeHint 、header()、およびQHeaderView::resizeContentsPrecision()も参照してください 。

[slot] void QTreeView::sortByColumn(int column, Qt::SortOrder order)

指定されたcolumn およびorder の値に基づいてモデルをソートします。

column -1 を指定することも可能です。その場合、ソートインジケーターは表示されず、モデルは元のソートされていない順序に戻ります。なお、すべてのモデルがこの機能をサポートしているわけではなく、この場合にクラッシュする可能性もあることに注意してください。

sortingEnabledも参照してください 。

[override virtual protected] void QTreeView::timerEvent(QTimerEvent *event)

QAbstractItemView::timerEvent(QTimerEvent *event) を再実装します。

int QTreeView::treePosition() const

ツリーが設定されている論理インデックスを返します。戻り値が -1 の場合は、ツリーはビジュアルインデックス 0 に配置されます。

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

[override virtual protected] void QTreeView::updateGeometries()

QAbstractItemView::updateGeometries() を再実装します。

[override virtual protected] int QTreeView::verticalOffset() const

QAbstractItemView::verticalOffset() const を再実装します。

ツリービュー内の項目の垂直方向のオフセットを返します。

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

[override virtual protected] bool QTreeView::viewportEvent(QEvent *event)

QAbstractItemView::viewportEvent(QEvent *event) を再実装します。

[override virtual protected] QSize QTreeView::viewportSizeHint() const

QAbstractItemView::viewportSizeHint() const を再実装します。

[override virtual] QRect QTreeView::visualRect(const QModelIndex &index) const

QAbstractItemView::visualRect(const QModelIndex &index) const を再実装します。

index の時点で、そのアイテムがビューポート上で占める矩形を返します。インデックスが非表示であるか、明示的に非表示にされている場合、返される矩形は無効となります。

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

[override virtual protected] QRegion QTreeView::visualRegionForSelection(const QItemSelection &selection) const

QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const を再実装します。

指定された `selection` 内の項目のビューポートから矩形を返します。

バージョン 4.7 以降、返される領域には、ビューポートと交差する(またはビューポートに含まれる)矩形のみが含まれます。

© 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.