20class Q_WIDGETS_EXPORT
QTreeView :
public QAbstractItemView
23 Q_PROPERTY(
int autoExpandDelay READ autoExpandDelay WRITE setAutoExpandDelay)
24 Q_PROPERTY(
int indentation READ indentation WRITE setIndentation RESET resetIndentation)
25 Q_PROPERTY(
bool rootIsDecorated READ rootIsDecorated WRITE setRootIsDecorated)
26 Q_PROPERTY(
bool uniformRowHeights READ uniformRowHeights WRITE setUniformRowHeights)
27 Q_PROPERTY(
bool itemsExpandable READ itemsExpandable WRITE setItemsExpandable)
28 Q_PROPERTY(
bool sortingEnabled READ isSortingEnabled WRITE setSortingEnabled)
29 Q_PROPERTY(
bool animated READ isAnimated WRITE setAnimated)
30 Q_PROPERTY(
bool allColumnsShowFocus READ allColumnsShowFocus WRITE setAllColumnsShowFocus)
31 Q_PROPERTY(
bool wordWrap READ wordWrap WRITE setWordWrap)
32 Q_PROPERTY(
bool headerHidden READ isHeaderHidden WRITE setHeaderHidden)
33 Q_PROPERTY(
bool expandsOnDoubleClick READ expandsOnDoubleClick WRITE setExpandsOnDoubleClick)
36 explicit QTreeView(QWidget *parent =
nullptr);
39 void setModel(QAbstractItemModel *model) override;
40 void setRootIndex(
const QModelIndex &index) override;
41 void setSelectionModel(QItemSelectionModel *selectionModel) override;
43 QHeaderView *header()
const;
44 void setHeader(QHeaderView *header);
46 int autoExpandDelay()
const;
47 void setAutoExpandDelay(
int delay);
49 int indentation()
const;
50 void setIndentation(
int i);
51 void resetIndentation();
53 bool rootIsDecorated()
const;
54 void setRootIsDecorated(
bool show);
56 bool uniformRowHeights()
const;
57 void setUniformRowHeights(
bool uniform);
59 bool itemsExpandable()
const;
60 void setItemsExpandable(
bool enable);
62 bool expandsOnDoubleClick()
const;
63 void setExpandsOnDoubleClick(
bool enable);
65 int columnViewportPosition(
int column)
const;
66 int columnWidth(
int column)
const;
67 void setColumnWidth(
int column,
int width);
68 int columnAt(
int x)
const;
70 bool isColumnHidden(
int column)
const;
71 void setColumnHidden(
int column,
bool hide);
73 bool isHeaderHidden()
const;
74 void setHeaderHidden(
bool hide);
76 bool isRowHidden(
int row,
const QModelIndex &parent)
const;
77 void setRowHidden(
int row,
const QModelIndex &parent,
bool hide);
79 bool isFirstColumnSpanned(
int row,
const QModelIndex &parent)
const;
80 void setFirstColumnSpanned(
int row,
const QModelIndex &parent,
bool span);
82 bool isExpanded(
const QModelIndex &index)
const;
83 void setExpanded(
const QModelIndex &index,
bool expand);
85 void setSortingEnabled(
bool enable);
86 bool isSortingEnabled()
const;
88 void setAnimated(
bool enable);
89 bool isAnimated()
const;
91 void setAllColumnsShowFocus(
bool enable);
92 bool allColumnsShowFocus()
const;
94 void setWordWrap(
bool on);
95 bool wordWrap()
const;
97 void setTreePosition(
int logicalIndex);
98 int treePosition()
const;
100 void keyboardSearch(
const QString &search) override;
102 QRect visualRect(
const QModelIndex &index)
const override;
103 void scrollTo(
const QModelIndex &index, ScrollHint hint = EnsureVisible) override;
104 QModelIndex indexAt(
const QPoint &p)
const override;
105 QModelIndex indexAbove(
const QModelIndex &index)
const;
106 QModelIndex indexBelow(
const QModelIndex &index)
const;
108 void doItemsLayout() override;
109 void reset() override;
111 void dataChanged(
const QModelIndex &topLeft,
const QModelIndex &bottomRight,
112 const QList<
int> &roles = QList<
int>()) override;
113 void selectAll() override;
116 void expanded(
const QModelIndex &index);
117 void collapsed(
const QModelIndex &index);
120 void hideColumn(
int column);
121 void showColumn(
int column);
122 void expand(
const QModelIndex &index);
123 void collapse(
const QModelIndex &index);
124 void resizeColumnToContents(
int column);
125 void sortByColumn(
int column, Qt::SortOrder order);
127 void expandRecursively(
const QModelIndex &index,
int depth = -1);
129 void expandToDepth(
int depth);
132 void columnResized(
int column,
int oldSize,
int newSize);
133 void columnCountChanged(
int oldCount,
int newCount);
136 void rowsRemoved(
const QModelIndex &parent,
int first,
int last);
137 void verticalScrollbarValueChanged(
int value) override;
140 QTreeView(QTreeViewPrivate &dd, QWidget *parent =
nullptr);
141 void scrollContentsBy(
int dx,
int dy) override;
142 void rowsInserted(
const QModelIndex &parent,
int start,
int end) override;
143 void rowsAboutToBeRemoved(
const QModelIndex &parent,
int start,
int end) override;
145 QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override;
146 int horizontalOffset()
const override;
147 int verticalOffset()
const override;
149 void setSelection(
const QRect &rect, QItemSelectionModel::SelectionFlags command) override;
150 QRegion visualRegionForSelection(
const QItemSelection &selection)
const override;
151 QModelIndexList selectedIndexes()
const override;
153 void changeEvent(QEvent *event) override;
154 void timerEvent(QTimerEvent *event) override;
155 void paintEvent(QPaintEvent *event) override;
157 void drawTree(QPainter *painter,
const QRegion ®ion)
const;
158 virtual void drawRow(QPainter *painter,
159 const QStyleOptionViewItem &options,
160 const QModelIndex &index)
const;
161 virtual void drawBranches(QPainter *painter,
163 const QModelIndex &index)
const;
165 void mousePressEvent(QMouseEvent *event) override;
166 void mouseReleaseEvent(QMouseEvent *event) override;
167 void mouseDoubleClickEvent(QMouseEvent *event) override;
168 void mouseMoveEvent(QMouseEvent *event) override;
169 void keyPressEvent(QKeyEvent *event) override;
170#if QT_CONFIG(draganddrop)
171 void dragMoveEvent(QDragMoveEvent *event) override;
173 bool viewportEvent(QEvent *event) override;
175 void updateGeometries() override;
177 QSize viewportSizeHint()
const override;
179 int sizeHintForColumn(
int column)
const override;
180 int indexRowSizeHint(
const QModelIndex &index)
const;
181 int rowHeight(
const QModelIndex &index)
const;
183 void horizontalScrollbarAction(
int action) override;
185 bool isIndexHidden(
const QModelIndex &index)
const override;
186 void selectionChanged(
const QItemSelection &selected,
187 const QItemSelection &deselected) override;
188 void currentChanged(
const QModelIndex ¤t,
const QModelIndex &previous) override;
191 friend class ::tst_QTreeView;
192 friend class QAccessibleTable;
193 friend class QAccessibleTree;
194 friend class QAccessibleTableCell;
195 int visualIndex(
const QModelIndex &index)
const;
197 Q_DECLARE_PRIVATE(QTreeView)
198 Q_DISABLE_COPY(QTreeView)