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 QRect itemDecorationRect(
const QModelIndex &index)
const;
104 void scrollTo(
const QModelIndex &index, ScrollHint hint = EnsureVisible) override;
105 QModelIndex indexAt(
const QPoint &p)
const override;
106 QModelIndex indexAbove(
const QModelIndex &index)
const;
107 QModelIndex indexBelow(
const QModelIndex &index)
const;
109 void doItemsLayout() override;
110 void reset() override;
112 void dataChanged(
const QModelIndex &topLeft,
const QModelIndex &bottomRight,
113 const QList<
int> &roles = QList<
int>()) override;
114 void selectAll() override;
117 void expanded(
const QModelIndex &index);
118 void collapsed(
const QModelIndex &index);
121 void hideColumn(
int column);
122 void showColumn(
int column);
123 void expand(
const QModelIndex &index);
124 void collapse(
const QModelIndex &index);
125 void resizeColumnToContents(
int column);
126 void sortByColumn(
int column, Qt::SortOrder order);
128 void expandRecursively(
const QModelIndex &index,
int depth = -1);
130 void expandToDepth(
int depth);
133 void columnResized(
int column,
int oldSize,
int newSize);
134 void columnCountChanged(
int oldCount,
int newCount);
137 void rowsRemoved(
const QModelIndex &parent,
int first,
int last);
138 void verticalScrollbarValueChanged(
int value) override;
141 QTreeView(QTreeViewPrivate &dd, QWidget *parent =
nullptr);
142 void scrollContentsBy(
int dx,
int dy) override;
143 void rowsInserted(
const QModelIndex &parent,
int start,
int end) override;
144 void rowsAboutToBeRemoved(
const QModelIndex &parent,
int start,
int end) override;
146 QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override;
147 int horizontalOffset()
const override;
148 int verticalOffset()
const override;
150 void setSelection(
const QRect &rect, QItemSelectionModel::SelectionFlags command) override;
151 QRegion visualRegionForSelection(
const QItemSelection &selection)
const override;
152 QModelIndexList selectedIndexes()
const override;
154 void changeEvent(QEvent *event) override;
155 void timerEvent(QTimerEvent *event) override;
156 void paintEvent(QPaintEvent *event) override;
158 void drawTree(QPainter *painter,
const QRegion ®ion)
const;
159 virtual void drawRow(QPainter *painter,
160 const QStyleOptionViewItem &options,
161 const QModelIndex &index)
const;
162 virtual void drawBranches(QPainter *painter,
164 const QModelIndex &index)
const;
166 void mousePressEvent(QMouseEvent *event) override;
167 void mouseReleaseEvent(QMouseEvent *event) override;
168 void mouseDoubleClickEvent(QMouseEvent *event) override;
169 void mouseMoveEvent(QMouseEvent *event) override;
170 void keyPressEvent(QKeyEvent *event) override;
171#if QT_CONFIG(draganddrop)
172 void dragMoveEvent(QDragMoveEvent *event) override;
174 bool viewportEvent(QEvent *event) override;
176 void updateGeometries() override;
178 QSize viewportSizeHint()
const override;
180 int sizeHintForColumn(
int column)
const override;
181 int indexRowSizeHint(
const QModelIndex &index)
const;
182 int rowHeight(
const QModelIndex &index)
const;
184 void horizontalScrollbarAction(
int action) override;
186 bool isIndexHidden(
const QModelIndex &index)
const override;
187 void selectionChanged(
const QItemSelection &selected,
188 const QItemSelection &deselected) override;
189 void currentChanged(
const QModelIndex ¤t,
const QModelIndex &previous) override;
192 friend class ::tst_QTreeView;
193 friend class QAccessibleTable;
194 friend class QAccessibleTree;
195 friend class QAccessibleTableCell;
196 int visualIndex(
const QModelIndex &index)
const;
198 Q_DECLARE_PRIVATE(QTreeView)
199 Q_DISABLE_COPY(QTreeView)