QtBase
v6.3.1
|
The QTreeView class provides a default model/view implementation of a tree view. More...
#include <qtreeview.h>
Public Slots | |
void | hideColumn (int column) |
void | showColumn (int column) |
void | expand (const QModelIndex &index) |
void | collapse (const QModelIndex &index) |
void | resizeColumnToContents (int column) |
void | sortByColumn (int column, Qt::SortOrder order) |
void | expandAll () |
void | expandRecursively (const QModelIndex &index, int depth=-1) |
void | collapseAll () |
void | expandToDepth (int depth) |
Public Slots inherited from QAbstractItemView | |
void | edit (const QModelIndex &index) |
void | clearSelection () |
void | setCurrentIndex (const QModelIndex &index) |
void | scrollToTop () |
void | scrollToBottom () |
void | update (const QModelIndex &index) |
Signals | |
void | expanded (const QModelIndex &index) |
void | collapsed (const QModelIndex &index) |
Signals inherited from QAbstractItemView | |
void | pressed (const QModelIndex &index) |
void | clicked (const QModelIndex &index) |
void | doubleClicked (const QModelIndex &index) |
void | activated (const QModelIndex &index) |
void | entered (const QModelIndex &index) |
void | viewportEntered () |
void | iconSizeChanged (const QSize &size) |
Protected Slots | |
void | columnResized (int column, int oldSize, int newSize) |
void | columnCountChanged (int oldCount, int newCount) |
void | columnMoved () |
void | reexpand () |
void | rowsRemoved (const QModelIndex &parent, int first, int last) |
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) |
virtual void | commitData (QWidget *editor) |
virtual void | editorDestroyed (QObject *editor) |
Properties | |
int | autoExpandDelay |
The delay time before items in a tree are opened during a drag and drop operation. More... | |
int | indentation |
indentation of the items in the tree view. More... | |
bool | rootIsDecorated |
whether to show controls for expanding and collapsing top-level items More... | |
bool | uniformRowHeights |
whether all items in the treeview have the same height More... | |
bool | itemsExpandable |
whether the items are expandable by the user. More... | |
bool | sortingEnabled |
whether sorting is enabled More... | |
bool | animated |
whether animations are enabled More... | |
bool | allColumnsShowFocus |
whether items should show keyboard focus using all columns More... | |
bool | wordWrap |
the item text word-wrapping policy More... | |
bool | headerHidden |
whether the header is shown or not. More... | |
bool | expandsOnDoubleClick |
whether the items can be expanded by double-clicking. More... | |
Properties inherited from QAbstractItemView | |
bool | autoScroll |
whether autoscrolling in drag move events is enabled More... | |
int | autoScrollMargin |
the size of the area when auto scrolling is triggered More... | |
EditTriggers | editTriggers |
which actions will initiate item editing More... | |
bool | tabKeyNavigation |
whether item navigation with tab and backtab is enabled. More... | |
bool | alternatingRowColors |
whether to draw the background using alternating colors More... | |
SelectionMode | selectionMode |
which selection mode the view operates in More... | |
SelectionBehavior | selectionBehavior |
which selection behavior the view uses More... | |
QSize | iconSize |
the size of items' icons More... | |
Qt::TextElideMode | textElideMode |
the position of the "..." in elided text. More... | |
ScrollMode | verticalScrollMode |
how the view scrolls its contents in the vertical direction More... | |
ScrollMode | horizontalScrollMode |
how the view scrolls its contents in the horizontal direction More... | |
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 } |
enum | SelectionBehavior { SelectItems , SelectRows , SelectColumns } |
enum | ScrollHint { EnsureVisible , PositionAtTop , PositionAtBottom , PositionAtCenter } |
enum | EditTrigger { NoEditTriggers = 0 , CurrentChanged = 1 , DoubleClicked = 2 , SelectedClicked = 4 , EditKeyPressed = 8 , AnyKeyPressed = 16 , AllEditTriggers = 31 } |
enum | ScrollMode { ScrollPerItem , ScrollPerPixel } |
Protected Types inherited from QAbstractItemView | |
enum | CursorAction { MoveUp , MoveDown , MoveLeft , MoveRight , MoveHome , MoveEnd , MovePageUp , MovePageDown , MoveNext , MovePrevious } |
enum | State { NoState , DraggingState , DragSelectingState , EditingState , ExpandingState , CollapsingState , AnimatingState } |
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:
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 55 of file qtreeview.h.
Constructs a tree view with a parent to represent a model's data. Use setModel() to set the model.
Definition at line 187 of file qtreeview.cpp.
QTreeView::~QTreeView | ( | ) |
Destroys the tree view.
Definition at line 207 of file qtreeview.cpp.
|
protected |
Definition at line 197 of file qtreeview.cpp.
bool QTreeView::allColumnsShowFocus | ( | ) | const |
Definition at line 939 of file qtreeview.cpp.
int QTreeView::autoExpandDelay | ( | ) | const |
Definition at line 352 of file qtreeview.cpp.
\reimp
Definition at line 1243 of file qtreeview.cpp.
|
slot |
Collapses the model item specified by the index.
Definition at line 797 of file qtreeview.cpp.
|
slot |
Collapses all expanded items.
Definition at line 2762 of file qtreeview.cpp.
|
signal |
This signal is emitted when the item specified by index is collapsed.
int QTreeView::columnAt | ( | int | x | ) | const |
Returns the column in the tree view whose header covers the x coordinate given.
Definition at line 537 of file qtreeview.cpp.
|
protectedslot |
Informs the tree view that the number of columns in the tree view has changed from oldCount to newCount.
Definition at line 2589 of file qtreeview.cpp.
|
protectedslot |
This slot is called whenever a column has been moved.
Definition at line 2506 of file qtreeview.cpp.
|
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.
Definition at line 2838 of file qtreeview.cpp.
int QTreeView::columnViewportPosition | ( | int | column | ) | const |
Returns the horizontal position of the column in the viewport.
Definition at line 503 of file qtreeview.cpp.
int QTreeView::columnWidth | ( | int | column | ) | const |
Returns the width of the column.
Definition at line 514 of file qtreeview.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 4013 of file qtreeview.cpp.
|
overridevirtual |
\reimp
Reimplemented from QAbstractItemView.
Reimplemented in TreeView, and QTreeWidgetDataChanged.
Definition at line 677 of file qtreeview.cpp.
|
overridevirtual |
Reimplemented from QAbstractItemView.
Definition at line 2115 of file qtreeview.cpp.
|
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 1840 of file qtreeview.cpp.
|
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.
Definition at line 1645 of file qtreeview.cpp.
Definition at line 1486 of file qtreeview.cpp.
|
slot |
Expands the model item specified by the index.
Definition at line 762 of file qtreeview.cpp.
|
slot |
Definition at line 2698 of file qtreeview.cpp.
|
signal |
This signal is emitted when the item specified by index is expanded.
|
slot |
Definition at line 2723 of file qtreeview.cpp.
bool QTreeView::expandsOnDoubleClick | ( | ) | const |
Definition at line 488 of file qtreeview.cpp.
|
slot |
Definition at line 2788 of file qtreeview.cpp.
QHeaderView * QTreeView::header | ( | ) | const |
Returns the header for the tree view.
Definition at line 295 of file qtreeview.cpp.
|
slot |
Hides the column given.
Definition at line 732 of file qtreeview.cpp.
|
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.
Implements QAbstractItemView.
Definition at line 2166 of file qtreeview.cpp.
|
overrideprotectedvirtual |
Reimplemented from QAbstractItemView.
Definition at line 3055 of file qtreeview.cpp.
int QTreeView::indentation | ( | ) | const |
Definition at line 377 of file qtreeview.cpp.
QModelIndex QTreeView::indexAbove | ( | const QModelIndex & | index | ) | const |
Returns the model index of the item above index.
Definition at line 2081 of file qtreeview.cpp.
|
overridevirtual |
\reimp
Implements QAbstractItemView.
Definition at line 2057 of file qtreeview.cpp.
QModelIndex QTreeView::indexBelow | ( | const QModelIndex & | index | ) | const |
Returns the model index of the item below index.
Definition at line 2097 of file qtreeview.cpp.
|
protected |
Returns the size hint for the row indicated by index.
Definition at line 2974 of file qtreeview.cpp.
bool QTreeView::isAnimated | ( | ) | const |
Definition at line 913 of file qtreeview.cpp.
bool QTreeView::isColumnHidden | ( | int | column | ) | const |
Returns true
if the column is hidden; otherwise returns false
.
Definition at line 548 of file qtreeview.cpp.
bool QTreeView::isExpanded | ( | const QModelIndex & | index | ) | const |
Returns true
if the model item index is expanded; otherwise returns false.
Definition at line 834 of file qtreeview.cpp.
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
.
Definition at line 634 of file qtreeview.cpp.
bool QTreeView::isHeaderHidden | ( | ) | const |
Definition at line 577 of file qtreeview.cpp.
|
overrideprotectedvirtual |
\reimp
Implements QAbstractItemView.
Definition at line 3063 of file qtreeview.cpp.
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
.
Definition at line 595 of file qtreeview.cpp.
bool QTreeView::isSortingEnabled | ( | ) | const |
bool QTreeView::itemsExpandable | ( | ) | const |
Definition at line 466 of file qtreeview.cpp.
\reimp
Reimplemented from QAbstractItemView.
Definition at line 1007 of file qtreeview.cpp.
\reimp
Definition at line 2032 of file qtreeview.cpp.
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
\reimp
Definition at line 1932 of file qtreeview.cpp.
|
overrideprotected |
|
overrideprotectedvirtual |
Move the cursor in the way described by cursorAction, using the information provided by the button modifiers.
Implements QAbstractItemView.
Definition at line 2201 of file qtreeview.cpp.
|
overrideprotected |
\reimp
Definition at line 1337 of file qtreeview.cpp.
|
protectedslot |
Definition at line 2516 of file qtreeview.cpp.
|
overridevirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 2148 of file qtreeview.cpp.
void QTreeView::resetIndentation | ( | ) |
Definition at line 393 of file qtreeview.cpp.
|
slot |
Resizes the column given to the size of its contents.
Definition at line 2607 of file qtreeview.cpp.
bool QTreeView::rootIsDecorated | ( | ) | const |
Definition at line 413 of file qtreeview.cpp.
|
protected |
Definition at line 3042 of file qtreeview.cpp.
|
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 2563 of file qtreeview.cpp.
|
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 2525 of file qtreeview.cpp.
|
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 2576 of file qtreeview.cpp.
|
overrideprotected |
Scrolls the contents of the tree view by (dx, dy).
Definition at line 2451 of file qtreeview.cpp.
|
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 1144 of file qtreeview.cpp.
|
overridevirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 2645 of file qtreeview.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 2430 of file qtreeview.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 4045 of file qtreeview.cpp.
void QTreeView::setAllColumnsShowFocus | ( | bool | enable | ) |
Definition at line 930 of file qtreeview.cpp.
void QTreeView::setAnimated | ( | bool | enable | ) |
void QTreeView::setAutoExpandDelay | ( | int | delay | ) |
Definition at line 358 of file qtreeview.cpp.
void QTreeView::setColumnHidden | ( | int | column, |
bool | hide | ||
) |
If hide is true the column is hidden, otherwise the column is shown.
Definition at line 559 of file qtreeview.cpp.
void QTreeView::setColumnWidth | ( | int | column, |
int | width | ||
) |
Sets the width of the given column to the width specified.
Definition at line 527 of file qtreeview.cpp.
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.
Definition at line 846 of file qtreeview.cpp.
void QTreeView::setExpandsOnDoubleClick | ( | bool | enable | ) |
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.
Definition at line 652 of file qtreeview.cpp.
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.
Definition at line 309 of file qtreeview.cpp.
void QTreeView::setHeaderHidden | ( | bool | hide | ) |
void QTreeView::setIndentation | ( | int | i | ) |
void QTreeView::setItemsExpandable | ( | bool | enable | ) |
|
overridevirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 214 of file qtreeview.cpp.
|
overridevirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 260 of file qtreeview.cpp.
void QTreeView::setRootIsDecorated | ( | bool | show | ) |
Definition at line 419 of file qtreeview.cpp.
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.
Definition at line 608 of file qtreeview.cpp.
|
overrideprotectedvirtual |
Applies the selection command to the items in or touched by the rectangle, rect.
Implements QAbstractItemView.
Definition at line 2334 of file qtreeview.cpp.
|
overridevirtual |
\reimp
Reimplemented from QAbstractItemView.
Reimplemented in QTreeWidget.
Definition at line 270 of file qtreeview.cpp.
void QTreeView::setSortingEnabled | ( | bool | enable | ) |
Definition at line 870 of file qtreeview.cpp.
void QTreeView::setTreePosition | ( | int | index | ) |
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.
Definition at line 982 of file qtreeview.cpp.
void QTreeView::setUniformRowHeights | ( | bool | uniform | ) |
void QTreeView::setWordWrap | ( | bool | on | ) |
Definition at line 958 of file qtreeview.cpp.
|
slot |
Shows the given column in the tree view.
Definition at line 746 of file qtreeview.cpp.
|
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.
Reimplemented from QAbstractItemView.
Definition at line 2886 of file qtreeview.cpp.
|
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.
Definition at line 2629 of file qtreeview.cpp.
|
overrideprotected |
\reimp
Definition at line 1259 of file qtreeview.cpp.
int QTreeView::treePosition | ( | ) | const |
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.
Definition at line 998 of file qtreeview.cpp.
bool QTreeView::uniformRowHeights | ( | ) | const |
Definition at line 444 of file qtreeview.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QAbstractItemView.
Definition at line 2849 of file qtreeview.cpp.
|
overrideprotectedvirtual |
Returns the vertical offset of the items in the tree view.
Implements QAbstractItemView.
Definition at line 2177 of file qtreeview.cpp.
|
overrideprotectedslot |
|
overrideprotected |
\reimp
\reimp
Definition at line 1308 of file qtreeview.cpp.
|
overrideprotected |
|
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 1104 of file qtreeview.cpp.
|
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 2373 of file qtreeview.cpp.
bool QTreeView::wordWrap | ( | ) | const |
Definition at line 967 of file qtreeview.cpp.
|
friend |
Definition at line 226 of file qtreeview.h.
|
friend |
Definition at line 227 of file qtreeview.h.
|
friend |
Definition at line 229 of file qtreeview.h.
|
friend |
Definition at line 228 of file qtreeview.h.
|
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 241 of file qtreeview.h.
|
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 241 of file qtreeview.h.
|
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 or close. 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 241 of file qtreeview.h.
|
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.
Definition at line 241 of file qtreeview.h.
|
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.
Definition at line 241 of file qtreeview.h.
|
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 241 of file qtreeview.h.
|
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 241 of file qtreeview.h.
|
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 241 of file qtreeview.h.
|
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.
Definition at line 241 of file qtreeview.h.
|
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.
By default, this property is false
.
Definition at line 241 of file qtreeview.h.
|
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 241 of file qtreeview.h.