Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QTreeView Class Reference

The QTreeView class provides a default model/view implementation of a tree view. More...

#include <qtreeview.h>

+ Inheritance diagram for QTreeView:
+ Collaboration diagram for QTreeView:

Public Slots

void hideColumn (int column)
 Hides the column given.
 
void showColumn (int column)
 Shows the given column in the tree view.
 
void expand (const QModelIndex &index)
 Expands the model item specified by the index.
 
void collapse (const QModelIndex &index)
 Collapses the model item specified by the index.
 
void resizeColumnToContents (int column)
 Resizes the column given to the size of its contents.
 
void sortByColumn (int column, Qt::SortOrder order)
 Sorts the model by the values in the given column and order.
 
void expandAll ()
 Expands all expandable items.
 
void expandRecursively (const QModelIndex &index, int depth=-1)
 
void collapseAll ()
 Collapses all expanded items.
 
void expandToDepth (int depth)
 Expands all expandable items to the given depth.
 
- Public Slots inherited from QAbstractItemView
void edit (const QModelIndex &index)
 Starts editing the item corresponding to the given index if it is editable.
 
void clearSelection ()
 Deselects all selected items.
 
void setCurrentIndex (const QModelIndex &index)
 Sets the current item to be the item at index.
 
void scrollToTop ()
 Scrolls the view to the top.
 
void scrollToBottom ()
 Scrolls the view to the bottom.
 
void update (const QModelIndex &index)
 Updates the area occupied by the given index.
 

Signals

void expanded (const QModelIndex &index)
 This signal is emitted when the item specified by index is expanded.
 
void collapsed (const QModelIndex &index)
 This signal is emitted when the item specified by index is collapsed.
 
- Signals inherited from QAbstractItemView
void pressed (const QModelIndex &index)
 This signal is emitted when a mouse button is pressed.
 
void clicked (const QModelIndex &index)
 This signal is emitted when a mouse button is left-clicked.
 
void doubleClicked (const QModelIndex &index)
 This signal is emitted when a mouse button is double-clicked.
 
void activated (const QModelIndex &index)
 This signal is emitted when the item specified by index is activated by the user.
 
void entered (const QModelIndex &index)
 This signal is emitted when the mouse cursor enters the item specified by index.
 
void viewportEntered ()
 This signal is emitted when the mouse cursor enters the viewport.
 
void iconSizeChanged (const QSize &size)
 

Public Member Functions

 QTreeView (QWidget *parent=nullptr)
 Constructs a tree view with a parent to represent a model's data.
 
 ~QTreeView ()
 Destroys the tree view.
 
void setModel (QAbstractItemModel *model) override
 \reimp
 
void setRootIndex (const QModelIndex &index) override
 \reimp
 
void setSelectionModel (QItemSelectionModel *selectionModel) override
 \reimp
 
QHeaderViewheader () const
 Returns the header for the tree view.
 
void setHeader (QHeaderView *header)
 Sets the header for the tree view, to the given header.
 
int autoExpandDelay () const
 
void setAutoExpandDelay (int delay)
 
int indentation () const
 
void setIndentation (int i)
 
void resetIndentation ()
 
bool rootIsDecorated () const
 
void setRootIsDecorated (bool show)
 
bool uniformRowHeights () const
 
void setUniformRowHeights (bool uniform)
 
bool itemsExpandable () const
 
void setItemsExpandable (bool enable)
 
bool expandsOnDoubleClick () const
 
void setExpandsOnDoubleClick (bool enable)
 
int columnViewportPosition (int column) const
 Returns the horizontal position of the column in the viewport.
 
int columnWidth (int column) const
 Returns the width of the column.
 
void setColumnWidth (int column, int width)
 Sets the width of the given column to the width specified.
 
int columnAt (int x) const
 Returns the column in the tree view whose header covers the x coordinate given.
 
bool isColumnHidden (int column) const
 Returns true if the column is hidden; otherwise returns false.
 
void setColumnHidden (int column, bool hide)
 If hide is true the column is hidden, otherwise the column is shown.
 
bool isHeaderHidden () const
 
void setHeaderHidden (bool hide)
 
bool isRowHidden (int row, const QModelIndex &parent) const
 Returns true if the item in the given row of the parent is hidden; otherwise returns false.
 
void setRowHidden (int row, const QModelIndex &parent, bool hide)
 If hide is true the row with the given parent is hidden, otherwise the row is shown.
 
bool isFirstColumnSpanned (int row, const QModelIndex &parent) const
 Returns true if the item in first column in the given row of the parent is spanning all the columns; otherwise returns false.
 
void setFirstColumnSpanned (int row, const QModelIndex &parent, bool span)
 If span is true the item in the first column in the row with the given parent is set to span all columns, otherwise all items on the row are shown.
 
bool isExpanded (const QModelIndex &index) const
 Returns true if the model item index is expanded; otherwise returns false.
 
void setExpanded (const QModelIndex &index, bool expand)
 Sets the item referred to by index to either collapse or expanded, depending on the value of expanded.
 
void setSortingEnabled (bool enable)
 
bool isSortingEnabled () const
 
void setAnimated (bool enable)
 
bool isAnimated () const
 
void setAllColumnsShowFocus (bool enable)
 
bool allColumnsShowFocus () const
 
void setWordWrap (bool on)
 
bool wordWrap () const
 
void setTreePosition (int logicalIndex)
 
int treePosition () const
 
void keyboardSearch (const QString &search) override
 \reimp
 
QRect visualRect (const QModelIndex &index) const override
 Returns the rectangle on the viewport occupied by the item at index.
 
void scrollTo (const QModelIndex &index, ScrollHint hint=EnsureVisible) override
 Scroll the contents of the tree view until the given model item index is visible.
 
QModelIndex indexAt (const QPoint &p) const override
 \reimp
 
QModelIndex indexAbove (const QModelIndex &index) const
 Returns the model index of the item above index.
 
QModelIndex indexBelow (const QModelIndex &index) const
 Returns the model index of the item below index.
 
void doItemsLayout () override
 
void reset () override
 \reimp
 
void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList< int > &roles=QList< int >()) override
 \reimp
 
void selectAll () override
 \reimp
 
- Public Member Functions inherited from QAbstractItemView
 QAbstractItemView (QWidget *parent=nullptr)
 Constructs an abstract item view with the given parent.
 
 ~QAbstractItemView ()
 Destroys the view.
 
QAbstractItemModelmodel () const
 Returns the model that this view is presenting.
 
QItemSelectionModelselectionModel () const
 Returns the current selection model.
 
void setItemDelegate (QAbstractItemDelegate *delegate)
 Sets the item delegate for this view and its model to delegate.
 
QAbstractItemDelegateitemDelegate () const
 Returns the item delegate used by this view and model.
 
void setSelectionMode (QAbstractItemView::SelectionMode mode)
 
QAbstractItemView::SelectionMode selectionMode () const
 
void setSelectionBehavior (QAbstractItemView::SelectionBehavior behavior)
 
QAbstractItemView::SelectionBehavior selectionBehavior () const
 
QModelIndex currentIndex () const
 Returns the model index of the current item.
 
QModelIndex rootIndex () const
 Returns the model index of the model's root item.
 
void setEditTriggers (EditTriggers triggers)
 
EditTriggers editTriggers () const
 
void setVerticalScrollMode (ScrollMode mode)
 
ScrollMode verticalScrollMode () const
 
void resetVerticalScrollMode ()
 
void setHorizontalScrollMode (ScrollMode mode)
 
ScrollMode horizontalScrollMode () const
 
void resetHorizontalScrollMode ()
 
void setAutoScroll (bool enable)
 
bool hasAutoScroll () const
 
void setAutoScrollMargin (int margin)
 
int autoScrollMargin () const
 
void setTabKeyNavigation (bool enable)
 
bool tabKeyNavigation () const
 
void setAlternatingRowColors (bool enable)
 
bool alternatingRowColors () const
 
void setIconSize (const QSize &size)
 
QSize iconSize () const
 
void setTextElideMode (Qt::TextElideMode mode)
 
Qt::TextElideMode textElideMode () const
 
QSize sizeHintForIndex (const QModelIndex &index) const
 Returns the size hint for the item with the specified index or an invalid size for invalid indexes.
 
virtual int sizeHintForRow (int row) const
 Returns the height size hint for the specified row or -1 if there is no model.
 
int updateThreshold () const
 
void setUpdateThreshold (int threshold)
 
void openPersistentEditor (const QModelIndex &index)
 Opens a persistent editor on the item at the given index.
 
void closePersistentEditor (const QModelIndex &index)
 Closes the persistent editor for the item at the given index.
 
bool isPersistentEditorOpen (const QModelIndex &index) const
 
void setIndexWidget (const QModelIndex &index, QWidget *widget)
 Sets the given widget on the item at the given index, passing the ownership of the widget to the viewport.
 
QWidgetindexWidget (const QModelIndex &index) const
 Returns the widget for the item at the given index.
 
void setItemDelegateForRow (int row, QAbstractItemDelegate *delegate)
 Sets the given item delegate used by this view and model for the given row.
 
QAbstractItemDelegateitemDelegateForRow (int row) const
 Returns the item delegate used by this view and model for the given row, or \nullptr if no delegate has been assigned.
 
void setItemDelegateForColumn (int column, QAbstractItemDelegate *delegate)
 Sets the given item delegate used by this view and model for the given column.
 
QAbstractItemDelegateitemDelegateForColumn (int column) const
 Returns the item delegate used by this view and model for the given column.
 
virtual QAbstractItemDelegateitemDelegateForIndex (const QModelIndex &index) const
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const override
 \reimp
 

Protected Slots

void columnResized (int column, int oldSize, int newSize)
 This function is called whenever {column}'s size is changed in the header.
 
void columnCountChanged (int oldCount, int newCount)
 Informs the tree view that the number of columns in the tree view has changed from oldCount to newCount.
 
void columnMoved ()
 This slot is called whenever a column has been moved.
 
void reexpand ()
 
void rowsRemoved (const QModelIndex &parent, int first, int last)
 Informs the view that the rows from the start row to the end row inclusive have been removed from the given parent model item.
 
void verticalScrollbarValueChanged (int value) override
 
- Protected Slots inherited from QAbstractItemView
virtual void updateEditorData ()
 
virtual void updateEditorGeometries ()
 
virtual void verticalScrollbarAction (int action)
 
virtual void verticalScrollbarValueChanged (int value)
 
virtual void horizontalScrollbarValueChanged (int value)
 
virtual void closeEditor (QWidget *editor, QAbstractItemDelegate::EndEditHint hint)
 Closes the given editor, and releases it.
 
virtual void commitData (QWidget *editor)
 Commit the data in the editor to the model.
 
virtual void editorDestroyed (QObject *editor)
 This function is called when the given editor has been destroyed.
 

Protected Member Functions

 QTreeView (QTreeViewPrivate &dd, QWidget *parent=nullptr)
 
void scrollContentsBy (int dx, int dy) override
 Scrolls the contents of the tree view by (dx, dy).
 
void rowsInserted (const QModelIndex &parent, int start, int end) override
 Informs the view that the rows from the start row to the end row inclusive have been inserted into the parent model item.
 
void rowsAboutToBeRemoved (const QModelIndex &parent, int start, int end) override
 Informs the view that the rows from the start row to the end row inclusive are about to removed from the given parent model item.
 
QModelIndex moveCursor (CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
 Move the cursor in the way described by cursorAction, using the information provided by the button modifiers.
 
int horizontalOffset () const override
 Returns the horizontal offset of the items in the treeview.
 
int verticalOffset () const override
 Returns the vertical offset of the items in the tree view.
 
void setSelection (const QRect &rect, QItemSelectionModel::SelectionFlags command) override
 Applies the selection command to the items in or touched by the rectangle, rect.
 
QRegion visualRegionForSelection (const QItemSelection &selection) const override
 Returns the rectangle from the viewport of the items in the given selection.
 
QModelIndexList selectedIndexes () const override
 \reimp
 
void changeEvent (QEvent *event) override
 \reimp
 
void timerEvent (QTimerEvent *event) override
 \reimp
 
void paintEvent (QPaintEvent *event) override
 \reimp
 
void drawTree (QPainter *painter, const QRegion &region) const
 Draws the part of the tree intersecting the given region using the specified painter.
 
virtual void drawRow (QPainter *painter, const QStyleOptionViewItem &options, const QModelIndex &index) const
 Draws the row in the tree view that contains the model item index, using the painter given.
 
virtual void drawBranches (QPainter *painter, const QRect &rect, const QModelIndex &index) const
 Draws the branches in the tree view on the same row as the model item index, using the painter given.
 
void mousePressEvent (QMouseEvent *event) override
 \reimp
 
void mouseReleaseEvent (QMouseEvent *event) override
 \reimp
 
void mouseDoubleClickEvent (QMouseEvent *event) override
 \reimp
 
void mouseMoveEvent (QMouseEvent *event) override
 \reimp
 
void keyPressEvent (QKeyEvent *event) override
 \reimp
 
bool viewportEvent (QEvent *event) override
 \reimp
 
void updateGeometries () override
 \reimp
 
QSize viewportSizeHint () const override
 \reimp
 
int sizeHintForColumn (int column) const override
 Returns the size hint for the column's width or -1 if there is no model.
 
int indexRowSizeHint (const QModelIndex &index) const
 Returns the size hint for the row indicated by index.
 
int rowHeight (const QModelIndex &index) const
 Returns the height of the row indicated by the given index.
 
void horizontalScrollbarAction (int action) override
 
bool isIndexHidden (const QModelIndex &index) const override
 \reimp
 
void selectionChanged (const QItemSelection &selected, const QItemSelection &deselected) override
 \reimp
 
void currentChanged (const QModelIndex &current, const QModelIndex &previous) override
 \reimp
 
- Protected Member Functions inherited from QAbstractItemView
 QAbstractItemView (QAbstractItemViewPrivate &, QWidget *parent=nullptr)
 
virtual bool edit (const QModelIndex &index, EditTrigger trigger, QEvent *event)
 Starts editing the item at index, creating an editor if necessary, and returns true if the view's \l{State} is now EditingState; otherwise returns false.
 
virtual QItemSelectionModel::SelectionFlags selectionCommand (const QModelIndex &index, const QEvent *event=nullptr) const
 Returns the SelectionFlags to be used when updating a selection model for the specified index.
 
virtual void initViewItemOption (QStyleOptionViewItem *option) const
 
State state () const
 Returns the item view's state.
 
void setState (State state)
 Sets the item view's state to the given state.
 
void scheduleDelayedItemsLayout ()
 Schedules a layout of the items in the view to be executed when the event processing starts.
 
void executeDelayedItemsLayout ()
 Executes the scheduled layouts without waiting for the event processing to begin.
 
void setDirtyRegion (const QRegion &region)
 Marks the given region as dirty and schedules it to be updated.
 
void scrollDirtyRegion (int dx, int dy)
 Prepares the view for scrolling by ({dx},{dy}) pixels by moving the dirty regions in the opposite direction.
 
QPoint dirtyRegionOffset () const
 Returns the offset of the dirty regions in the view.
 
void startAutoScroll ()
 
void stopAutoScroll ()
 
void doAutoScroll ()
 
bool focusNextPrevChild (bool next) override
 \reimp
 
bool event (QEvent *event) override
 \reimp
 
bool viewportEvent (QEvent *event) override
 This function is used to handle tool tips, and What's This?
 
void mousePressEvent (QMouseEvent *event) override
 This function is called with the given event when a mouse button is pressed while the cursor is inside the widget.
 
void mouseMoveEvent (QMouseEvent *event) override
 This function is called with the given event when a mouse move event is sent to the widget.
 
void mouseReleaseEvent (QMouseEvent *event) override
 This function is called with the given event when a mouse button is released, after a mouse press event on the widget.
 
void mouseDoubleClickEvent (QMouseEvent *event) override
 This function is called with the given event when a mouse button is double clicked inside the widget.
 
void focusInEvent (QFocusEvent *event) override
 This function is called with the given event when the widget obtains the focus.
 
void focusOutEvent (QFocusEvent *event) override
 This function is called with the given event when the widget loses the focus.
 
void keyPressEvent (QKeyEvent *event) override
 This function is called with the given event when a key event is sent to the widget.
 
void resizeEvent (QResizeEvent *event) override
 This function is called with the given event when a resize event is sent to the widget.
 
void timerEvent (QTimerEvent *event) override
 This function is called with the given event when a timer event is sent to the widget.
 
void inputMethodEvent (QInputMethodEvent *event) override
 \reimp
 
bool eventFilter (QObject *object, QEvent *event) override
 \reimp
 
QSize viewportSizeHint () const override
 

Properties

int autoExpandDelay
 The delay time before items in a tree are opened during a drag and drop operation.
 
int indentation
 indentation of the items in the tree view.
 
bool rootIsDecorated
 whether to show controls for expanding and collapsing top-level items
 
bool uniformRowHeights
 whether all items in the treeview have the same height
 
bool itemsExpandable
 whether the items are expandable by the user.
 
bool sortingEnabled
 whether sorting is enabled
 
bool animated
 whether animations are enabled
 
bool allColumnsShowFocus
 whether items should show keyboard focus using all columns
 
bool wordWrap
 the item text word-wrapping policy
 
bool headerHidden
 whether the header is shown or not.
 
bool expandsOnDoubleClick
 whether the items can be expanded by double-clicking.
 
- Properties inherited from QAbstractItemView
bool autoScroll
 whether autoscrolling in drag move events is enabled
 
int autoScrollMargin
 the size of the area when auto scrolling is triggered
 
EditTriggers editTriggers
 which actions will initiate item editing
 
bool tabKeyNavigation
 whether item navigation with tab and backtab is enabled.
 
bool alternatingRowColors
 whether to draw the background using alternating colors
 
SelectionMode selectionMode
 which selection mode the view operates in
 
SelectionBehavior selectionBehavior
 which selection behavior the view uses
 
QSize iconSize
 the size of items' icons
 
Qt::TextElideMode textElideMode
 the position of the "..." in elided text.
 
ScrollMode verticalScrollMode
 how the view scrolls its contents in the vertical direction
 
ScrollMode horizontalScrollMode
 how the view scrolls its contents in the horizontal direction
 
int updateThreshold
 

Friends

class ::tst_QTreeView
 
class QAccessibleTable
 
class QAccessibleTree
 
class QAccessibleTableCell
 

Additional Inherited Members

- Public Types inherited from QAbstractItemView
enum  SelectionMode {
  NoSelection , SingleSelection , MultiSelection , ExtendedSelection ,
  ContiguousSelection
}
 This enum indicates how the view responds to user selections: More...
 
enum  SelectionBehavior { SelectItems , SelectRows , SelectColumns }
 \value SelectItems Selecting single items. More...
 
enum  ScrollHint { EnsureVisible , PositionAtTop , PositionAtBottom , PositionAtCenter }
 \value EnsureVisible Scroll to ensure that the item is visible. More...
 
enum  EditTrigger {
  NoEditTriggers = 0 , CurrentChanged = 1 , DoubleClicked = 2 , SelectedClicked = 4 ,
  EditKeyPressed = 8 , AnyKeyPressed = 16 , AllEditTriggers = 31
}
 This enum describes actions which will initiate item editing. More...
 
enum  ScrollMode { ScrollPerItem , ScrollPerPixel }
 Describes how the scrollbar should behave. More...
 
- Protected Types inherited from QAbstractItemView
enum  CursorAction {
  MoveUp , MoveDown , MoveLeft , MoveRight ,
  MoveHome , MoveEnd , MovePageUp , MovePageDown ,
  MoveNext , MovePrevious
}
 This enum describes the different ways to navigate between items,. More...
 
enum  State {
  NoState , DraggingState , DragSelectingState , EditingState ,
  ExpandingState , CollapsingState , AnimatingState
}
 Describes the different states the view can be in. More...
 

Detailed Description

The QTreeView class provides a default model/view implementation of a tree view.

\inmodule QtWidgets

A QTreeView implements a tree representation of items from a model. This class is used to provide standard hierarchical lists that were previously provided by the QListView class, but using the more flexible approach provided by Qt's model/view architecture.

The QTreeView class is one of the \l{Model/View Classes} and is part of Qt's \l{Model/View Programming}{model/view framework}.

QTreeView implements the interfaces defined by the QAbstractItemView class to allow it to display data provided by models derived from the QAbstractItemModel class.

It is simple to construct a tree view displaying data from a model. In the following example, the contents of a directory are supplied by a QFileSystemModel and displayed as a tree:

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

The model/view architecture ensures that the contents of the tree view are updated as the model changes.

Items that have children can be in an expanded (children are visible) or collapsed (children are hidden) state. When this state changes a collapsed() or expanded() signal is emitted with the model index of the relevant item.

The amount of indentation used to indicate levels of hierarchy is controlled by the \l indentation property.

Headers in tree views are constructed using the QHeaderView class and can be hidden using {header()->hide()}. Note that each header is configured with its \l{QHeaderView::}{stretchLastSection} property set to true, ensuring that the view does not waste any of the space assigned to it for its header. If this value is set to true, this property will override the resize mode set on the last section in the header.

By default, all columns in a tree view are movable except the first. To disable movement of these columns, use QHeaderView's \l {QHeaderView::}{setSectionsMovable()} function. For more information about rearranging sections, see \l {Moving Header Sections}.

Definition at line 19 of file qtreeview.h.

Constructor & Destructor Documentation

◆ QTreeView() [1/2]

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

Constructs a tree view with a parent to represent a model's data.

Use setModel() to set the model.

See also
QAbstractItemModel

Definition at line 152 of file qtreeview.cpp.

◆ ~QTreeView()

QTreeView::~QTreeView ( )

Destroys the tree view.

Definition at line 172 of file qtreeview.cpp.

◆ QTreeView() [2/2]

QTreeView::QTreeView ( QTreeViewPrivate & dd,
QWidget * parent = nullptr )
protected

Definition at line 162 of file qtreeview.cpp.

Member Function Documentation

◆ allColumnsShowFocus()

bool QTreeView::allColumnsShowFocus ( ) const

Definition at line 895 of file qtreeview.cpp.

◆ autoExpandDelay()

int QTreeView::autoExpandDelay ( ) const

Definition at line 318 of file qtreeview.cpp.

◆ changeEvent()

void QTreeView::changeEvent ( QEvent * event)
overrideprotected

\reimp

Definition at line 1229 of file qtreeview.cpp.

◆ collapse

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

Collapses the model item specified by the index.

See also
collapsed()

Definition at line 755 of file qtreeview.cpp.

◆ collapseAll

void QTreeView::collapseAll ( )
slot

Collapses all expanded items.

See also
expandAll(), expand(), collapse(), setExpanded()

Definition at line 2794 of file qtreeview.cpp.

◆ collapsed

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

This signal is emitted when the item specified by index is collapsed.

◆ columnAt()

int QTreeView::columnAt ( int x) const

Returns the column in the tree view whose header covers the x coordinate given.

Definition at line 500 of file qtreeview.cpp.

◆ columnCountChanged

void QTreeView::columnCountChanged ( int oldCount,
int newCount )
protectedslot

Informs the tree view that the number of columns in the tree view has changed from oldCount to newCount.

Definition at line 2624 of file qtreeview.cpp.

◆ columnMoved

void QTreeView::columnMoved ( )
protectedslot

This slot is called whenever a column has been moved.

Definition at line 2543 of file qtreeview.cpp.

◆ columnResized

void QTreeView::columnResized ( int column,
int oldSize,
int newSize )
protectedslot

This function is called whenever {column}'s size is changed in the header.

oldSize and newSize give the previous size and the new size in pixels.

See also
setColumnWidth()

Definition at line 2870 of file qtreeview.cpp.

◆ columnViewportPosition()

int QTreeView::columnViewportPosition ( int column) const

Returns the horizontal position of the column in the viewport.

Definition at line 468 of file qtreeview.cpp.

◆ columnWidth()

int QTreeView::columnWidth ( int column) const

Returns the width of the column.

See also
resizeColumnToContents(), setColumnWidth()

Definition at line 479 of file qtreeview.cpp.

◆ currentChanged()

void QTreeView::currentChanged ( const QModelIndex & current,
const QModelIndex & previous )
overrideprotectedvirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 4084 of file qtreeview.cpp.

◆ dataChanged()

void QTreeView::dataChanged ( const QModelIndex & topLeft,
const QModelIndex & bottomRight,
const QList< int > & roles = QList<int>() )
overridevirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 635 of file qtreeview.cpp.

◆ doItemsLayout()

void QTreeView::doItemsLayout ( )
overridevirtual

Lays out the items in the tree view.

Reimplemented from QAbstractItemView.

Definition at line 2152 of file qtreeview.cpp.

◆ drawBranches()

void QTreeView::drawBranches ( QPainter * painter,
const QRect & rect,
const QModelIndex & index ) const
protectedvirtual

Draws the branches in the tree view on the same row as the model item index, using the painter given.

The branches are drawn in the rectangle specified by rect.

Definition at line 1877 of file qtreeview.cpp.

◆ drawRow()

void QTreeView::drawRow ( QPainter * painter,
const QStyleOptionViewItem & option,
const QModelIndex & index ) const
protectedvirtual

Draws the row in the tree view that contains the model item index, using the painter given.

The option controls how the item is displayed.

See also
setAlternatingRowColors()

Reimplemented in QtPropertyEditorView, and QtPropertyEditorView.

Definition at line 1662 of file qtreeview.cpp.

◆ drawTree()

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

Draws the part of the tree intersecting the given region using the specified painter.

See also
paintEvent()

Definition at line 1502 of file qtreeview.cpp.

◆ expand

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

Expands the model item specified by the index.

See also
expanded()

Definition at line 720 of file qtreeview.cpp.

◆ expandAll

void QTreeView::expandAll ( )
slot

Expands all expandable items.

Note
This function will not try to \l{QAbstractItemModel::fetchMore}{fetch more} data.
Warning
If the model contains a large number of items, this function will take some time to execute.
See also
collapseAll(), expand(), collapse(), setExpanded()

Definition at line 2731 of file qtreeview.cpp.

◆ expanded

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

This signal is emitted when the item specified by index is expanded.

◆ expandRecursively

void QTreeView::expandRecursively ( const QModelIndex & index,
int depth = -1 )
slot
Since
5.13 Expands the item at the given index and all its children to the given depth. The depth is relative to the given index. A depth of -1 will expand all children, a depth of 0 will only expand the given index.
Note
This function will not try to \l{QAbstractItemModel::fetchMore}{fetch more} data.
Warning
If the model contains a large number of items, this function will take some time to execute.
See also
expandAll()

Definition at line 2757 of file qtreeview.cpp.

◆ expandsOnDoubleClick()

bool QTreeView::expandsOnDoubleClick ( ) const

Definition at line 453 of file qtreeview.cpp.

◆ expandToDepth

void QTreeView::expandToDepth ( int depth)
slot

Expands all expandable items to the given depth.

Note
This function will not try to \l{QAbstractItemModel::fetchMore}{fetch more} data.
See also
expandAll(), collapseAll(), expand(), collapse(), setExpanded()

Definition at line 2819 of file qtreeview.cpp.

◆ header()

QHeaderView * QTreeView::header ( ) const

Returns the header for the tree view.

See also
QAbstractItemModel::headerData()

Definition at line 260 of file qtreeview.cpp.

◆ hideColumn

void QTreeView::hideColumn ( int column)
slot

Hides the column given.

Note
This function should only be called after the model has been initialized, as the view needs to know the number of columns in order to hide column.
See also
showColumn(), setColumnHidden()

Definition at line 690 of file qtreeview.cpp.

◆ horizontalOffset()

int QTreeView::horizontalOffset ( ) const
overrideprotectedvirtual

Returns the horizontal offset of the items in the treeview.

Note that the tree view uses the horizontal header section positions to determine the positions of columns in the view.

See also
verticalOffset()

Implements QAbstractItemView.

Definition at line 2204 of file qtreeview.cpp.

◆ horizontalScrollbarAction()

void QTreeView::horizontalScrollbarAction ( int action)
overrideprotectedvirtual

Reimplemented from QAbstractItemView.

Definition at line 3086 of file qtreeview.cpp.

◆ indentation()

int QTreeView::indentation ( ) const

Definition at line 343 of file qtreeview.cpp.

◆ indexAbove()

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

Returns the model index of the item above index.

Definition at line 2118 of file qtreeview.cpp.

◆ indexAt()

QModelIndex QTreeView::indexAt ( const QPoint & p) const
overridevirtual

\reimp

Implements QAbstractItemView.

Definition at line 2094 of file qtreeview.cpp.

◆ indexBelow()

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

Returns the model index of the item below index.

Definition at line 2134 of file qtreeview.cpp.

◆ indexRowSizeHint()

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

Returns the size hint for the row indicated by index.

See also
sizeHintForColumn(), uniformRowHeights()

Definition at line 3006 of file qtreeview.cpp.

◆ isAnimated()

bool QTreeView::isAnimated ( ) const

Definition at line 870 of file qtreeview.cpp.

◆ isColumnHidden()

bool QTreeView::isColumnHidden ( int column) const

Returns true if the column is hidden; otherwise returns false.

See also
hideColumn(), isRowHidden()

Definition at line 511 of file qtreeview.cpp.

◆ isExpanded()

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

Returns true if the model item index is expanded; otherwise returns false.

See also
expand(), expanded(), setExpanded()

Definition at line 792 of file qtreeview.cpp.

◆ isFirstColumnSpanned()

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

Returns true if the item in first column in the given row of the parent is spanning all the columns; otherwise returns false.

See also
setFirstColumnSpanned()

Definition at line 594 of file qtreeview.cpp.

◆ isHeaderHidden()

bool QTreeView::isHeaderHidden ( ) const

Definition at line 539 of file qtreeview.cpp.

◆ isIndexHidden()

bool QTreeView::isIndexHidden ( const QModelIndex & index) const
overrideprotectedvirtual

\reimp

Implements QAbstractItemView.

Definition at line 3094 of file qtreeview.cpp.

◆ isRowHidden()

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

Returns true if the item in the given row of the parent is hidden; otherwise returns false.

See also
setRowHidden(), isColumnHidden()

Definition at line 557 of file qtreeview.cpp.

◆ isSortingEnabled()

bool QTreeView::isSortingEnabled ( ) const

Definition at line 846 of file qtreeview.cpp.

◆ itemsExpandable()

bool QTreeView::itemsExpandable ( ) const

Definition at line 432 of file qtreeview.cpp.

◆ keyboardSearch()

void QTreeView::keyboardSearch ( const QString & search)
overridevirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 962 of file qtreeview.cpp.

◆ keyPressEvent()

void QTreeView::keyPressEvent ( QKeyEvent * event)
overrideprotected

\reimp

Definition at line 2069 of file qtreeview.cpp.

◆ mouseDoubleClickEvent()

void QTreeView::mouseDoubleClickEvent ( QMouseEvent * event)
overrideprotected

\reimp

Definition at line 2000 of file qtreeview.cpp.

◆ mouseMoveEvent()

void QTreeView::mouseMoveEvent ( QMouseEvent * event)
overrideprotected

\reimp

Definition at line 2059 of file qtreeview.cpp.

◆ mousePressEvent()

void QTreeView::mousePressEvent ( QMouseEvent * event)
overrideprotected

\reimp

Definition at line 1969 of file qtreeview.cpp.

◆ mouseReleaseEvent()

void QTreeView::mouseReleaseEvent ( QMouseEvent * event)
overrideprotected

\reimp

Definition at line 1984 of file qtreeview.cpp.

◆ moveCursor()

QModelIndex QTreeView::moveCursor ( CursorAction cursorAction,
Qt::KeyboardModifiers modifiers )
overrideprotectedvirtual

Move the cursor in the way described by cursorAction, using the information provided by the button modifiers.

Implements QAbstractItemView.

Definition at line 2239 of file qtreeview.cpp.

◆ paintEvent()

void QTreeView::paintEvent ( QPaintEvent * event)
overrideprotected

\reimp

Definition at line 1319 of file qtreeview.cpp.

◆ reexpand

void QTreeView::reexpand ( )
protectedslot

Definition at line 2553 of file qtreeview.cpp.

◆ reset()

void QTreeView::reset ( )
overridevirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 2186 of file qtreeview.cpp.

◆ resetIndentation()

void QTreeView::resetIndentation ( )

Definition at line 359 of file qtreeview.cpp.

◆ resizeColumnToContents

void QTreeView::resizeColumnToContents ( int column)
slot

Resizes the column given to the size of its contents.

See also
columnWidth(), setColumnWidth(), sizeHintForColumn(), QHeaderView::resizeContentsPrecision()

Definition at line 2642 of file qtreeview.cpp.

◆ rootIsDecorated()

bool QTreeView::rootIsDecorated ( ) const

Definition at line 379 of file qtreeview.cpp.

◆ rowHeight()

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

Returns the height of the row indicated by the given index.

See also
indexRowSizeHint()

Definition at line 3073 of file qtreeview.cpp.

◆ rowsAboutToBeRemoved()

void QTreeView::rowsAboutToBeRemoved ( const QModelIndex & parent,
int start,
int end )
overrideprotectedvirtual

Informs the view that the rows from the start row to the end row inclusive are about to removed from the given parent model item.

Reimplemented from QAbstractItemView.

Definition at line 2600 of file qtreeview.cpp.

◆ rowsInserted()

void QTreeView::rowsInserted ( const QModelIndex & parent,
int start,
int end )
overrideprotectedvirtual

Informs the view that the rows from the start row to the end row inclusive have been inserted into the parent model item.

Reimplemented from QAbstractItemView.

Definition at line 2562 of file qtreeview.cpp.

◆ rowsRemoved

void QTreeView::rowsRemoved ( const QModelIndex & parent,
int first,
int last )
protectedslot

Informs the view that the rows from the start row to the end row inclusive have been removed from the given parent model item.

Definition at line 2611 of file qtreeview.cpp.

◆ scrollContentsBy()

void QTreeView::scrollContentsBy ( int dx,
int dy )
overrideprotected

Scrolls the contents of the tree view by (dx, dy).

Definition at line 2488 of file qtreeview.cpp.

◆ scrollTo()

void QTreeView::scrollTo ( const QModelIndex & index,
ScrollHint hint = EnsureVisible )
overridevirtual

Scroll the contents of the tree view until the given model item index is visible.

The hint parameter specifies more precisely where the item should be located after the operation. If any of the parents of the model item are collapsed, they will be expanded to ensure that the model item is visible.

Implements QAbstractItemView.

Definition at line 1130 of file qtreeview.cpp.

◆ selectAll()

void QTreeView::selectAll ( )
overridevirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 2678 of file qtreeview.cpp.

◆ selectedIndexes()

QModelIndexList QTreeView::selectedIndexes ( ) const
overrideprotectedvirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 2467 of file qtreeview.cpp.

◆ selectionChanged()

void QTreeView::selectionChanged ( const QItemSelection & selected,
const QItemSelection & deselected )
overrideprotectedvirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 4109 of file qtreeview.cpp.

◆ setAllColumnsShowFocus()

void QTreeView::setAllColumnsShowFocus ( bool enable)

Definition at line 886 of file qtreeview.cpp.

◆ setAnimated()

void QTreeView::setAnimated ( bool enable)

Definition at line 864 of file qtreeview.cpp.

◆ setAutoExpandDelay()

void QTreeView::setAutoExpandDelay ( int delay)

Definition at line 324 of file qtreeview.cpp.

◆ setColumnHidden()

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

If hide is true the column is hidden, otherwise the column is shown.

See also
hideColumn(), setRowHidden()

Definition at line 522 of file qtreeview.cpp.

◆ setColumnWidth()

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

Sets the width of the given column to the width specified.

See also
columnWidth(), resizeColumnToContents()

Definition at line 490 of file qtreeview.cpp.

◆ setExpanded()

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

Sets the item referred to by index to either collapse or expanded, depending on the value of expanded.

See also
expanded(), expand(), isExpanded()

Definition at line 804 of file qtreeview.cpp.

◆ setExpandsOnDoubleClick()

void QTreeView::setExpandsOnDoubleClick ( bool enable)

Definition at line 459 of file qtreeview.cpp.

◆ setFirstColumnSpanned()

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

If span is true the item in the first column in the row with the given parent is set to span all columns, otherwise all items on the row are shown.

See also
isFirstColumnSpanned()

Definition at line 610 of file qtreeview.cpp.

◆ setHeader()

void QTreeView::setHeader ( QHeaderView * header)

Sets the header for the tree view, to the given header.

The view takes ownership over the given header and deletes it when a new header is set.

See also
QAbstractItemModel::headerData()

Definition at line 274 of file qtreeview.cpp.

◆ setHeaderHidden()

void QTreeView::setHeaderHidden ( bool hide)

Definition at line 545 of file qtreeview.cpp.

◆ setIndentation()

void QTreeView::setIndentation ( int i)

Definition at line 349 of file qtreeview.cpp.

◆ setItemsExpandable()

void QTreeView::setItemsExpandable ( bool enable)

Definition at line 438 of file qtreeview.cpp.

◆ setModel()

void QTreeView::setModel ( QAbstractItemModel * model)
overridevirtual

\reimp

Reimplemented from QAbstractItemView.

Reimplemented in QTreeWidget.

Definition at line 181 of file qtreeview.cpp.

◆ setRootIndex()

void QTreeView::setRootIndex ( const QModelIndex & index)
overridevirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 225 of file qtreeview.cpp.

◆ setRootIsDecorated()

void QTreeView::setRootIsDecorated ( bool show)

Definition at line 385 of file qtreeview.cpp.

◆ setRowHidden()

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

If hide is true the row with the given parent is hidden, otherwise the row is shown.

See also
isRowHidden(), setColumnHidden()

Definition at line 570 of file qtreeview.cpp.

◆ setSelection()

void QTreeView::setSelection ( const QRect & rect,
QItemSelectionModel::SelectionFlags command )
overrideprotectedvirtual

Applies the selection command to the items in or touched by the rectangle, rect.

See also
selectionCommand()

Implements QAbstractItemView.

Definition at line 2371 of file qtreeview.cpp.

◆ setSelectionModel()

void QTreeView::setSelectionModel ( QItemSelectionModel * selectionModel)
overridevirtual

\reimp

Reimplemented from QAbstractItemView.

Reimplemented in QTreeWidget.

Definition at line 235 of file qtreeview.cpp.

◆ setSortingEnabled()

void QTreeView::setSortingEnabled ( bool enable)

Definition at line 827 of file qtreeview.cpp.

◆ setTreePosition()

void QTreeView::setTreePosition ( int index)
Since
5.2

This specifies that the tree structure should be placed at logical index index. If \index is set to -1 then the tree will always follow visual index 0.

See also
treePosition(), QHeaderView::swapSections(), QHeaderView::moveSection()

Definition at line 937 of file qtreeview.cpp.

◆ setUniformRowHeights()

void QTreeView::setUniformRowHeights ( bool uniform)

Definition at line 416 of file qtreeview.cpp.

◆ setWordWrap()

void QTreeView::setWordWrap ( bool on)

Definition at line 913 of file qtreeview.cpp.

◆ showColumn

void QTreeView::showColumn ( int column)
slot

Shows the given column in the tree view.

See also
hideColumn(), setColumnHidden()

Definition at line 704 of file qtreeview.cpp.

◆ sizeHintForColumn()

int QTreeView::sizeHintForColumn ( int column) const
overrideprotectedvirtual

Returns the size hint for the column's width or -1 if there is no model.

If you need to set the width of a given column to a fixed value, call QHeaderView::resizeSection() on the view's header.

If you reimplement this function in a subclass, note that the value you return is only used when resizeColumnToContents() is called. In that case, if a larger column width is required by either the view's header or the item delegate, that width will be used instead.

See also
QWidget::sizeHint, header(), QHeaderView::resizeContentsPrecision()

Reimplemented from QAbstractItemView.

Definition at line 2918 of file qtreeview.cpp.

◆ sortByColumn

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

Sorts the model by the values in the given column and order.

column may be -1, in which case no sort indicator will be shown and the model will return to its natural, unsorted order. Note that not all models support this and may even crash in this case.

See also
sortingEnabled

Definition at line 2662 of file qtreeview.cpp.

◆ timerEvent()

void QTreeView::timerEvent ( QTimerEvent * event)
overrideprotected

\reimp

Definition at line 1245 of file qtreeview.cpp.

◆ treePosition()

int QTreeView::treePosition ( ) const
Since
5.2

Return the logical index the tree is set on. If the return value is -1 then the tree is placed on the visual index 0.

See also
setTreePosition()

Definition at line 953 of file qtreeview.cpp.

◆ uniformRowHeights()

bool QTreeView::uniformRowHeights ( ) const

Definition at line 410 of file qtreeview.cpp.

◆ updateGeometries()

void QTreeView::updateGeometries ( )
overrideprotectedvirtual

\reimp

Reimplemented from QAbstractItemView.

Definition at line 2881 of file qtreeview.cpp.

◆ verticalOffset()

int QTreeView::verticalOffset ( ) const
overrideprotectedvirtual

Returns the vertical offset of the items in the tree view.

See also
horizontalOffset()

Implements QAbstractItemView.

Definition at line 2215 of file qtreeview.cpp.

◆ verticalScrollbarValueChanged

void QTreeView::verticalScrollbarValueChanged ( int value)
overrideprotectedslot

Definition at line 4149 of file qtreeview.cpp.

◆ viewportEvent()

bool QTreeView::viewportEvent ( QEvent * event)
overrideprotected

\reimp

\reimp

Definition at line 1293 of file qtreeview.cpp.

◆ viewportSizeHint()

QSize QTreeView::viewportSizeHint ( ) const
overrideprotected

\reimp

Definition at line 2697 of file qtreeview.cpp.

◆ visualRect()

QRect QTreeView::visualRect ( const QModelIndex & index) const
overridevirtual

Returns the rectangle on the viewport occupied by the item at index.

If the index is not visible or explicitly hidden, the returned rectangle is invalid.

Implements QAbstractItemView.

Definition at line 1059 of file qtreeview.cpp.

◆ visualRegionForSelection()

QRegion QTreeView::visualRegionForSelection ( const QItemSelection & selection) const
overrideprotectedvirtual

Returns the rectangle from the viewport of the items in the given selection.

Since 4.7, the returned region only contains rectangles intersecting (or included in) the viewport.

Implements QAbstractItemView.

Definition at line 2410 of file qtreeview.cpp.

◆ wordWrap()

bool QTreeView::wordWrap ( ) const

Definition at line 922 of file qtreeview.cpp.

Friends And Related Symbol Documentation

◆ ::tst_QTreeView

friend class ::tst_QTreeView
friend

Definition at line 190 of file qtreeview.h.

◆ QAccessibleTable

friend class QAccessibleTable
friend

Definition at line 191 of file qtreeview.h.

◆ QAccessibleTableCell

friend class QAccessibleTableCell
friend

Definition at line 193 of file qtreeview.h.

◆ QAccessibleTree

friend class QAccessibleTree
friend

Definition at line 192 of file qtreeview.h.

Property Documentation

◆ allColumnsShowFocus

bool QTreeView::allColumnsShowFocus
readwrite

whether items should show keyboard focus using all columns

If this property is true all columns will show focus, otherwise only one column will show focus.

The default is false.

Definition at line 29 of file qtreeview.h.

◆ animated

bool QTreeView::animated
readwrite

whether animations are enabled

If this property is true the treeview will animate expansion and collapsing of branches. If this property is false, the treeview will expand or collapse branches immediately without showing the animation.

By default, this property is false.

Definition at line 28 of file qtreeview.h.

◆ autoExpandDelay

int QTreeView::autoExpandDelay
readwrite

The delay time before items in a tree are opened during a drag and drop operation.

This property holds the amount of time in milliseconds that the user must wait over a node before that node will automatically open. If the time is set to less then 0 then it will not be activated.

By default, this property has a value of -1, meaning that auto-expansion is disabled.

Definition at line 22 of file qtreeview.h.

◆ expandsOnDoubleClick

bool QTreeView::expandsOnDoubleClick
readwrite

whether the items can be expanded by double-clicking.

This property holds whether the user can expand and collapse items by double-clicking. The default value is true.

See also
itemsExpandable

Definition at line 32 of file qtreeview.h.

◆ headerHidden

bool QTreeView::headerHidden
readwrite

whether the header is shown or not.

If this property is true, the header is not shown otherwise it is. The default value is false.

See also
header()

Definition at line 31 of file qtreeview.h.

◆ indentation

int QTreeView::indentation
readwrite

indentation of the items in the tree view.

This property holds the indentation measured in pixels of the items for each level in the tree view. For top-level items, the indentation specifies the horizontal distance from the viewport edge to the items in the first column; for child items, it specifies their indentation from their parent items.

By default, the value of this property is style dependent. Thus, when the style changes, this property updates from it. Calling setIndentation() stops the updates, calling resetIndentation() will restore default behavior.

Definition at line 23 of file qtreeview.h.

◆ itemsExpandable

bool QTreeView::itemsExpandable
readwrite

whether the items are expandable by the user.

This property holds whether the user can expand and collapse items interactively.

By default, this property is true.

Definition at line 26 of file qtreeview.h.

◆ rootIsDecorated

bool QTreeView::rootIsDecorated
readwrite

whether to show controls for expanding and collapsing top-level items

Items with children are typically shown with controls to expand and collapse them, allowing their children to be shown or hidden. If this property is false, these controls are not shown for top-level items. This can be used to make a single level tree structure appear like a simple list of items.

By default, this property is true.

Definition at line 24 of file qtreeview.h.

◆ sortingEnabled

bool QTreeView::sortingEnabled
readwrite

whether sorting is enabled

If this property is true, sorting is enabled for the tree; if the property is false, sorting is not enabled. The default value is false.

Note
In order to avoid performance issues, it is recommended that sorting is enabled after inserting the items into the tree. Alternatively, you could also insert the items into a list before inserting the items into the tree.
See also
sortByColumn()

Definition at line 27 of file qtreeview.h.

◆ uniformRowHeights

bool QTreeView::uniformRowHeights
readwrite

whether all items in the treeview have the same height

This property should only be set to true if it is guaranteed that all items in the view has the same height. This enables the view to do some optimizations.

The height is obtained from the first item in the view. It is updated when the data changes on that item.

Note
If the editor size hint is bigger than the cell size hint, then the size hint of the editor will be used.

By default, this property is false.

Definition at line 25 of file qtreeview.h.

◆ wordWrap

bool QTreeView::wordWrap
readwrite

the item text word-wrapping policy

If this property is true then the item text is wrapped where necessary at word-breaks; otherwise it is not wrapped at all. This property is false by default.

Note that even if wrapping is enabled, the cell will not be expanded to fit all text. Ellipsis will be inserted according to the current \l{QAbstractItemView::}{textElideMode}.

Definition at line 30 of file qtreeview.h.


The documentation for this class was generated from the following files: