Sur cette page

QTreeView Class

La classe QTreeView fournit une implémentation par défaut du modèle-vue d'une arborescence. En savoir plus...

En-tête : #include <QTreeView>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QAbstractItemView
Hérité par :

QHelpContentWidget et QTreeWidget

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

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

Slots publics

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)

Signaux

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

Fonctions protégées

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

Fonctions protégées réimplémentées

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

Slots protégés

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)

Description détaillée

Widget de répertoire affichant le contenu sous forme d'arborescence

Une classe QTreeView implémente une représentation arborescente des éléments d'un modèle. Cette classe est utilisée pour fournir des listes hiérarchiques standard qui étaient auparavant fournies par la classe QListView, mais en utilisant l'approche plus flexible offerte par l'architecture modèle/vue de Qt.

La classe QTreeView fait partie des classes Modèle/Vue et s'inscrit dans le cadre de l'architecture modèle/vue de Qt.

QTreeView implémente les interfaces définies par la classe QAbstractItemView afin de pouvoir afficher les données fournies par des modèles dérivés de la classe QAbstractItemModel.

Il est simple de créer une arborescence affichant les données d’un modèle. Dans l’exemple suivant, le contenu d’un répertoire est fourni par un ` QFileSystemModel ` et affiché sous forme d’arborescence :

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

L’architecture modèle/vue garantit que le contenu de l’arborescence est mis à jour à mesure que le modèle évolue.

Les éléments ayant des enfants peuvent être dans un état développé (les enfants sont visibles) ou réduit (les enfants sont masqués). Lorsque cet état change, un signal collapsed() ou expanded() est émis avec l’index du modèle de l’élément concerné.

Le niveau d’indentation utilisé pour indiquer les niveaux hiérarchiques est contrôlé par la propriété indentation.

Les en-têtes des arborescences sont construits à l’aide de la classe ` QHeaderView ` et peuvent être masqués à l’aide de ` header()->hide()`. Notez que chaque en-tête est configuré avec la propriété ` stretchLastSection ` définie sur `true`, ce qui garantit que la vue ne gaspille pas l’espace qui lui est alloué pour son en-tête. Si cette valeur est définie sur `true`, cette propriété prendra le pas sur le mode de redimensionnement défini sur la dernière section de l’en-tête.

Par défaut, toutes les colonnes d’une arborescence sont déplaçables, à l’exception de la première. Pour désactiver le déplacement de ces colonnes, utilisez la fonction ` setSectionsMovable()` de ` QHeaderView`. Pour plus d’informations sur le réagencement des sections, consultez ` Moving Header Sections`.

Raccourcis clavier

QTreeView prend en charge un ensemble de raccourcis clavier qui permettent à l’utilisateur de naviguer dans la vue et d’interagir avec le contenu des éléments :

ToucheAction
HautDéplace le curseur vers l'élément situé dans la même colonne de la ligne précédente. Si l'élément parent de l'élément actuel ne comporte plus de lignes vers lesquelles naviguer, le curseur se déplace vers l'élément correspondant situé dans la dernière ligne de l'élément frère qui précède l'élément parent.
BasDéplace le curseur vers l'élément situé dans la même colonne de la ligne suivante. Si l'élément parent de l'élément actuel ne comporte plus de lignes vers lesquelles naviguer, le curseur se déplace vers l'élément correspondant situé dans la première ligne de l'élément frère qui suit l'élément parent.
GaucheMasque les enfants de l'élément actuel (le cas échéant) en réduisant une branche.
MoinsIdentique à « Gauche ».
DroiteAffiche les éléments enfants de l'élément actuel (s'il y en a) en développant une branche.
PlusIdentique à « Droite ».
AstérisqueDéveloppe l'élément actuel et tous ses enfants (le cas échéant).
Page précédenteDéplace le curseur d'une page vers le haut.
PageDownDéplace le curseur d'une page vers le bas.
DébutPlace le curseur sur un élément situé dans la même colonne que la première ligne du premier élément de niveau supérieur du modèle.
FinPlace le curseur sur un élément situé dans la même colonne de la dernière ligne du dernier élément de niveau supérieur du modèle.
F2Dans les modèles modifiables, cette touche ouvre l'élément actuel pour le modifier. La touche Échap permet d'annuler le processus de modification et de rétablir les données affichées telles qu'elles étaient auparavant.

Amélioration des performances

Il est possible de fournir à la vue des indications sur les données qu’elle traite afin d’améliorer ses performances lors de l’affichage d’un grand nombre d’éléments. Une approche possible pour les vues destinées à afficher des éléments de hauteur égale consiste à définir la propriété ` uniformRowHeights ` sur `true`.

Voir également QListView, QTreeWidget, Classes de vues, QAbstractItemModel et QAbstractItemView.

Documentation sur les propriétés

allColumnsShowFocus : bool

Cette propriété détermine si les éléments doivent afficher le focus clavier sur toutes les colonnes

Si cette propriété est définie sur « true », toutes les colonnes afficheront le focus ; sinon, une seule colonne l'affichera.

La valeur par défaut est « false ».

Fonctions d'accès :

bool allColumnsShowFocus() const
void setAllColumnsShowFocus(bool enable)

animated : bool

Cette propriété détermine si les animations sont activées

Si cette propriété est définie sur « true », l'arborescence affichera une animation lors de l'expansion et de la réduction des branches. Si cette propriété est définie sur « false », l'arborescence expandra ou réduira les branches immédiatement, sans afficher d'animation.

Par défaut, cette propriété est définie sur « false ».

Fonctions d'accès :

bool isAnimated() const
void setAnimated(bool enable)

autoExpandDelay : int

Cette propriété définit le délai avant l'ouverture des éléments d'une arborescence lors d'une opération de glisser-déposer.

Cette propriété définit le délai, en millisecondes, pendant lequel l'utilisateur doit maintenir le curseur sur un nœud avant que celui-ci ne s'ouvre automatiquement. Si ce délai est inférieur à 0, la fonction n'est pas activée.

Par défaut, cette propriété a pour valeur -1, ce qui signifie que l'ouverture automatique est désactivée.

Fonctions d'accès :

int autoExpandDelay() const
void setAutoExpandDelay(int delay)

expandsOnDoubleClick : bool

Cette propriété indique si les éléments peuvent être développés par un double-clic.

Cette propriété indique si l'utilisateur peut développer et réduire les éléments par un double-clic. La valeur par défaut est true.

Fonctions d'accès :

bool expandsOnDoubleClick() const
void setExpandsOnDoubleClick(bool enable)

Voir également itemsExpandable.

headerHidden : bool

Cette propriété détermine si l'en-tête est affiché ou non.

Si cette propriété est définie sur « true », l'en-tête n'est pas affiché ; dans le cas contraire, il l'est. La valeur par défaut est «false».

Fonctions d'accès :

bool isHeaderHidden() const
void setHeaderHidden(bool hide)

Voir également ` header()`.

indentation : int

Indentation des éléments dans l'arborescence.

Cette propriété contient la valeur de l'indentation, mesurée en pixels, des éléments pour chaque niveau de l'arborescence. Pour les éléments de niveau supérieur, l'indentation spécifie la distance horizontale entre le bord de la fenêtre d'affichage et les éléments de la première colonne ; pour les éléments enfants, elle spécifie leur indentation par rapport à leurs éléments parents.

Par défaut, la valeur de cette propriété dépend du style. Ainsi, lorsque le style change, cette propriété est mise à jour en conséquence. L'appel de la méthode setIndentation() interrompt ces mises à jour, tandis que l'appel de la méthode resetIndentation() rétablit le comportement par défaut.

Fonctions d’accès :

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

itemsExpandable : bool

Cette propriété indique si les éléments peuvent être développés par l'utilisateur.

Cette propriété indique si l'utilisateur peut développer et réduire les éléments de manière interactive.

Par défaut, cette propriété est définie sur « true ».

Fonctions d'accès :

bool itemsExpandable() const
void setItemsExpandable(bool enable)

rootIsDecorated : bool

Cette propriété détermine s'il faut afficher les commandes permettant de développer et de réduire les éléments de premier niveau

Les éléments comportant des sous-éléments s'affichent généralement avec des commandes permettant de les développer ou de les réduire, ce qui permet d'afficher ou de masquer leurs sous-éléments. Si cette propriété est définie sur « false », ces commandes ne s'affichent pas pour les éléments de niveau supérieur. Cela permet de présenter une arborescence à un seul niveau sous la forme d'une simple liste d'éléments.

Par défaut, cette propriété est définie sur « true ».

Fonctions d'accès :

bool rootIsDecorated() const
void setRootIsDecorated(bool show)

sortingEnabled : bool

Cette propriété indique si le tri est activé

Si cette propriété est définie sur « true », le tri est activé pour l’arborescence ; si elle est définie sur «false», le tri n’est pas activé. La valeur par défaut est «false».

Remarque : afin d'éviter tout problème de performances, il est recommandé d'activer le tri après avoir inséré les éléments dans l'arborescence. Vous pouvez également insérer les éléments dans une liste avant de les insérer dans l'arborescence.

Fonctions d'accès :

bool isSortingEnabled() const
void setSortingEnabled(bool enable)

Voir également sortByColumn().

uniformRowHeights : bool

Cette propriété indique si tous les éléments de l'arborescence ont la même hauteur

Cette propriété ne doit être définie sur « true » que s'il est garanti que tous les éléments de la vue ont la même hauteur. Cela permet à la vue d'effectuer certaines optimisations.

La hauteur est déterminée à partir du premier élément de la vue. Elle est mise à jour lorsque les données de cet élément changent.

Remarque : si la taille indiquée pour l’éditeur est supérieure à celle indiquée pour la cellule, c’est la taille indiquée pour l’éditeur qui sera utilisée.

Par défaut, cette propriété est définie sur « false ».

Fonctions d’accès :

bool uniformRowHeights() const
void setUniformRowHeights(bool uniform)

wordWrap : bool

Cette propriété définit la politique de retour à la ligne du texte de l'élément

Si cette propriété est définie sur « true », le texte de l'élément est renvoyé à la ligne aux césures lorsque cela est nécessaire ; dans le cas contraire, il n'est pas renvoyé à la ligne. Cette propriété est définie par défaut sur « false ».

Notez que même si le retour à la ligne est activé, la cellule ne sera pas agrandie pour contenir tout le texte. Des points de suspension seront insérés conformément à l'textElideMode e en vigueur.

Fonctions Access :

bool wordWrap() const
void setWordWrap(bool on)

Documentation sur les fonctions membres

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

Crée une arborescence à l'aide d'un objet ` parent ` pour représenter les données d'un modèle. Utilisez la méthode ` setModel()` pour définir le modèle.

Voir également QAbstractItemModel.

[virtual noexcept] QTreeView::~QTreeView()

Supprime l'arborescence.

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

Réimplémente : QFrame::changeEvent(QEvent *ev).

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

Réduit l'élément du modèle spécifié par l'index.

Voir aussi collapsed().

[slot] void QTreeView::collapseAll()

Réduit tous les éléments développés.

Voir également expandAll(), expand(), collapse() et setExpanded().

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

Ce signal est émis lorsque l'élément spécifié par « index » est masqué.

int QTreeView::columnAt(int x) const

Renvoie la colonne de l'arborescence dont l'en-tête recouvre la coordonnée x indiquée.

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

Indique à l'arborescence que le nombre de colonnes de celle-ci est passé de oldCount à newCount.

[protected slot] void QTreeView::columnMoved()

Cette méthode est appelée chaque fois qu'une colonne a été déplacée.

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

Cette fonction est appelée chaque fois que la taille de column est modifiée dans l'en-tête. oldSize et newSize renvoient respectivement l'ancienne taille et la nouvelle taille en pixels.

Voir également setColumnWidth().

int QTreeView::columnViewportPosition(int column) const

Renvoie la position horizontale de l'column e dans la fenêtre d'affichage.

int QTreeView::columnWidth(int column) const

Renvoie la largeur de l'objet ` column`.

Voir également resizeColumnToContents() et setColumnWidth().

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

Réimplémente : 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>())

Réimplémente : QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles).

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

Réimplémente : QAbstractItemView::dragMoveEvent(QDragMoveEvent *event).

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

Dessine les branches dans l'arborescence sur la même ligne que l'élément du modèle index, en utilisant l'painter fournie. Les branches sont dessinées dans le rectangle spécifié par rect.

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

Affiche la ligne de l'arborescence contenant l'élément de modèle index, à l'aide de l'painter fournie. L'option contrôle la manière dont l'élément est affiché.

Voir également setAlternatingRowColors().

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

Dessine la partie de l'arbre qui coupe l'region donnée à l'aide de l'painter spécifiée.

Voir également paintEvent().

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

Développe l'élément du modèle spécifié par l'index.

Voir également expanded().

[slot] void QTreeView::expandAll()

Déplie tous les éléments pouvant être dépliés.

Remarque : cette fonction ne tente pas de « fetch more r » les données.

Avertissement : si le modèle contient un grand nombre d'éléments, l'exécution de cette fonction peut prendre un certain temps.

Voir également collapseAll(), expand(), collapse() et setExpanded().

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

Développe l'élément situé à l'index indiquée, ainsi que tous ses enfants, jusqu'à l'depth indiquée. L'depth est relative à l'index indiquée. Une depth de -1 développera tous les enfants, tandis qu'une depth de 0 ne développera que l'index indiquée.

Remarque : cette fonction ne tente pas de « fetch more » les données.

Avertissement : si le modèle contient un grand nombre d’éléments, l’exécution de cette fonction prendra un certain temps.

Voir aussi expandAll().

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

Déplie tous les éléments dépliables selon l'depth ion indiquée.

Remarque : cette fonction ne tente pas de « fetch more » les données.

Voir également expandAll(), collapseAll(), expand(), collapse() et setExpanded().

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

Ce signal est émis lorsque l'élément spécifié par « index » est développé.

Voir également setExpanded().

Renvoie l'en-tête de l'arborescence.

Voir également setHeader() et QAbstractItemModel::headerData().

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

Masque l'column s fournies.

Remarque : cette fonction ne doit être appelée qu’après l’initialisation du modèle, car la vue doit connaître le nombre de colonnes pour pouvoir masquer l’ column.

Voir également ` showColumn()` et ` setColumnHidden()`.

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

Réimplémente : QAbstractItemView::horizontalOffset() const.

Renvoie le décalage horizontal des éléments dans l’arborescence.

Notez que l'arborescence utilise les positions horizontales des en-têtes pour déterminer les positions des colonnes dans la vue.

Voir également verticalOffset().

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

Renvoie l'index du modèle de l'élément situé au-dessus de « index ».

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

Réimplémente : QAbstractItemView::indexAt(const QPoint &point) const.

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

Renvoie l'index du modèle de l'élément situé à l'adresse suivante : index.

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

Renvoie l'indication de taille pour la ligne indiquée par index.

Voir également sizeHintForColumn() et uniformRowHeights().

bool QTreeView::isColumnHidden(int column) const

Renvoie « true » si l'column est masquée ; sinon, renvoie « false ».

Voir également hideColumn() et isRowHidden().

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

Renvoie « true » si l'élément du modèle « index » est développé ; sinon, renvoie « false ».

Voir également expand(), expanded() et setExpanded().

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

Renvoie « true » si l'élément de la première colonne de l'row, dans l'parent, s'étend sur toutes les colonnes ; sinon, renvoie « false ».

Voir également setFirstColumnSpanned().

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

Réimplémentation de : QAbstractItemView::isIndexHidden(const QModelIndex &index) const.

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

Renvoie « true » si l'élément situé à l'row spécifiée de l'parent est masqué ; sinon, renvoie « false ».

Voir également setRowHidden() et isColumnHidden().

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

Renvoie le rectangle occupé par l'indicateur d'expansion/de réduction de l'élément situé à l'adresse index. Si l'élément ne dispose pas d'un tel indicateur, par exemple parce qu'il n'a pas d'enfants ou parce que la décoration racine est désactivée, le rectangle renvoyé n'est pas valide. Une fonction « index » non valide renvoie également un rectangle non valide.

Cette fonction a été introduite dans Qt 6.12.

Voir également visualRect() et QStyle::SE_TreeViewDisclosureItem.

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

Réimplémente : QAbstractItemView::keyPressEvent(QKeyEvent *event).

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

Réimplémente : QAbstractItemView::keyboardSearch(const QString &search).

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

Réimplémente : QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event).

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

Réimplémente : QAbstractItemView::mouseMoveEvent(QMouseEvent *event).

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

Réimplémente : QAbstractItemView::mousePressEvent(QMouseEvent *event).

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

Réimplémente : QAbstractItemView::mouseReleaseEvent(QMouseEvent *event).

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

Réimplémente : QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers).

Déplace le curseur selon les instructions décrites dans ` cursorAction`, en utilisant les informations fournies par le bouton ` modifiers`.

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

Réimplémente : QAbstractScrollArea::paintEvent(QPaintEvent *event).

[override virtual] void QTreeView::reset()

Réimplémente : QAbstractItemView::reset().

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

Redimensionne l'column en fonction de la taille de son contenu.

Voir également columnWidth(), setColumnWidth(), sizeHintForColumn() et QHeaderView::resizeContentsPrecision().

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

Renvoie la hauteur de la ligne indiquée par l'index.

Voir aussi indexRowSizeHint().

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

Réimplémentation de : QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end).

Indique à la vue que les lignes comprises entre la ligne « start » et la ligne « end », ces deux lignes incluses, sont sur le point d'être supprimées de l'élément de modèle « parent » donné.

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

Réimplémente : QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end).

Indique à la vue que les lignes comprises entre la ligne start et la ligne end, ces deux lignes incluses, ont été insérées dans l'élément de modèle parent.

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

Indique que les lignes comprises entre la ligne « start » et la ligne « end » (ces deux lignes incluses) ont été supprimées de l'élément de modèle parent spécifié.

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

Réimplémente : QAbstractScrollArea::scrollContentsBy(int dx, int dy).

Fait défiler le contenu de l'arborescence de (dx, dy).

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

Réimplémente : QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint).

Fait défiler le contenu de l'arborescence jusqu'à ce que l'élément de modèle spécifié index soit visible. Le paramètre hint précise l'emplacement exact où l'élément doit se trouver à l'issue de l'opération. Si l'un des parents de l'élément de modèle est réduit, il sera développé afin de garantir la visibilité de l'élément de modèle.

[override virtual] void QTreeView::selectAll()

Réimplémente : QAbstractItemView::selectAll().

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

Réimplémente : QAbstractItemView::selectedIndexes() const.

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

Réimplémente : QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected).

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

Si hide est vrai, l'column est masqué ; dans le cas contraire, l'column s'affiche.

Voir également isColumnHidden(), hideColumn() et setRowHidden().

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

Définit la largeur de l'column on indiquée sur la valeur width spécifiée.

Voir également columnWidth() et resizeColumnToContents().

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

Définit l'élément référencé par index comme « replié » ou « développé », selon la valeur de expanded.

Voir également expanded(), expand() et isExpanded().

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

Si span est vrai, l'élément de la première colonne de la page row dont l'parent est indiquée s'étend sur toutes les colonnes ; dans le cas contraire, tous les éléments de la page row sont affichés.

Voir également isFirstColumnSpanned().

void QTreeView::setHeader(QHeaderView *header)

Définit l'en-tête de l'arborescence sur l'header on fournie.

La vue prend possession de l'header spécifié et le supprime lorsqu'un nouvel en-tête est défini.

Voir aussi QAbstractItemModel::headerData().

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

Réimplémente : QAbstractItemView::setModel(QAbstractItemModel *model).

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

Réimplémente : QAbstractItemView::setRootIndex(const QModelIndex &index).

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

Si hide est vrai, la page row, dont l'parent est indiquée, est masquée ; dans le cas contraire, la page row s'affiche.

Voir également isRowHidden() et setColumnHidden().

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

Réimplémente : QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags).

Applique la sélection command aux éléments situés dans le rectangle ou touchés par celui-ci, rect.

Voir également selectionCommand().

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

Réimplémente : QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel).

void QTreeView::setTreePosition(int index)

Cela spécifie que la structure arborescente doit être placée à l'index logique index. Si est défini sur -1, l'arborescence suivra toujours l'index visuel 0.

Voir également treePosition(), QHeaderView::swapSections() et QHeaderView::moveSection().

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

Affiche l'column ion indiquée dans l'arborescence.

Voir également ` hideColumn()` et ` setColumnHidden()`.

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

Réimplémente : QAbstractItemView::sizeHintForColumn(int column) const.

Renvoie l'indication de taille pour la largeur de l'column ou -1 s'il n'y a pas de modèle.

Si vous devez définir la largeur d'une colonne donnée à une valeur fixe, appelez ` QHeaderView::resizeSection()` sur l'en-tête de la vue.

Si vous réimplémentez cette fonction dans une sous-classe, notez que la valeur que vous renvoyez n'est utilisée que lorsque resizeColumnToContents() est appelée. Dans ce cas, si une largeur de colonne supérieure est requise soit par l'en-tête de la vue, soit par le délégué d'élément, c'est cette largeur qui sera utilisée à la place.

Voir également QWidget::sizeHint, header() et QHeaderView::resizeContentsPrecision().

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

Trie le modèle en fonction des valeurs des paramètres column et order.

column Peut prendre la valeur -1, auquel cas aucun indicateur de tri ne s'affichera et le modèle reviendra à son ordre naturel, non trié. Notez que tous les modèles ne prennent pas en charge cette fonctionnalité et peuvent même se bloquer dans ce cas.

Voir également sortingEnabled.

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

Réimplémente : QAbstractItemView::timerEvent(QTimerEvent *event).

int QTreeView::treePosition() const

Renvoie l'index logique sur lequel l'arborescence est définie. Si la valeur renvoyée est -1, cela signifie que l'arborescence est placée sur l'index visuel 0.

Voir aussi setTreePosition().

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

Réimplémente : QAbstractItemView::updateGeometries().

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

Réimplémente : QAbstractItemView::verticalOffset() const.

Renvoie le décalage vertical des éléments dans l'arborescence.

Voir aussi horizontalOffset().

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

Réimplémente : QAbstractItemView::viewportEvent(QEvent *event).

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

Réimplémente : QAbstractItemView::viewportSizeHint() const.

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

Réimplémente : ` QAbstractItemView::visualRect(const QModelIndex &index) const`.

Renvoie le rectangle occupé par l'élément situé à l'adresse index dans la fenêtre d'affichage. Si l'élément n'est pas visible ou s'il est explicitement masqué, le rectangle renvoyé n'est pas valide.

Voir également itemDecorationRect().

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

Réimplémente : QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const.

Renvoie le rectangle correspondant à la fenêtre d'affichage des éléments de l'selection donné.

Depuis la version 4.7, la région renvoyée ne contient que les rectangles qui coupent (ou sont inclus dans) la zone d'affichage.

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