Sur cette page

QHeaderView Class

La classe QHeaderView fournit une ligne ou une colonne d'en-tête pour les vues d'éléments. Plus d'informations...

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

Types publics

enum ResizeMode { Interactive, Fixed, Stretch, ResizeToContents, Custom }

Propriétés

Fonctions publiques

QHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr)
virtual ~QHeaderView()
bool cascadingSectionResizes() const
int count() const
Qt::Alignment defaultAlignment() const
int defaultSectionSize() const
int hiddenSectionCount() const
void hideSection(int logicalIndex)
bool highlightSections() const
bool isFirstSectionMovable() const
bool isSectionHidden(int logicalIndex) const
bool isSortIndicatorClearable() const
bool isSortIndicatorShown() const
int length() const
int logicalIndex(int visualIndex) const
int logicalIndexAt(const QPoint &pos) const
int logicalIndexAt(int position) const
int logicalIndexAt(int x, int y) const
int maximumSectionSize() const
int minimumSectionSize() const
void moveSection(int from, int to)
int offset() const
Qt::Orientation orientation() const
void resetDefaultSectionSize()
int resizeContentsPrecision() const
void resizeSection(int logicalIndex, int size)
void resizeSections(QHeaderView::ResizeMode mode)
bool restoreState(const QByteArray &state)
QByteArray saveState() const
int sectionPosition(int logicalIndex) const
QHeaderView::ResizeMode sectionResizeMode(int logicalIndex) const
int sectionSize(int logicalIndex) const
int sectionSizeHint(int logicalIndex) const
int sectionViewportPosition(int logicalIndex) const
bool sectionsClickable() const
bool sectionsHidden() const
bool sectionsMovable() const
bool sectionsMoved() const
void setCascadingSectionResizes(bool enable)
void setDefaultAlignment(Qt::Alignment alignment)
void setDefaultSectionSize(int size)
void setFirstSectionMovable(bool movable)
void setHighlightSections(bool highlight)
void setMaximumSectionSize(int size)
void setMinimumSectionSize(int size)
void setResizeContentsPrecision(int precision)
void setSectionHidden(int logicalIndex, bool hide)
void setSectionResizeMode(QHeaderView::ResizeMode mode)
void setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)
void setSectionsClickable(bool clickable)
void setSectionsMovable(bool movable)
void setSortIndicator(int logicalIndex, Qt::SortOrder order)
void setSortIndicatorClearable(bool clearable)
void setSortIndicatorShown(bool show)
void setStretchLastSection(bool stretch)
void showSection(int logicalIndex)
Qt::SortOrder sortIndicatorOrder() const
int sortIndicatorSection() const
bool stretchLastSection() const
int stretchSectionCount() const
void swapSections(int first, int second)
int visualIndex(int logicalIndex) const
int visualIndexAt(int position) const

Fonctions publiques réimplémentées

virtual void reset() override
virtual void setModel(QAbstractItemModel *model) override
virtual void setVisible(bool v) override
virtual QSize sizeHint() const override

Emplacements publics

void headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast)
void setOffset(int offset)
void setOffsetToLastSection()
void setOffsetToSectionPosition(int visualSectionNumber)

Signaux

void geometriesChanged()
void sectionClicked(int logicalIndex)
void sectionCountChanged(int oldCount, int newCount)
void sectionDoubleClicked(int logicalIndex)
void sectionEntered(int logicalIndex)
void sectionHandleDoubleClicked(int logicalIndex)
void sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex)
void sectionPressed(int logicalIndex)
void sectionResized(int logicalIndex, int oldSize, int newSize)
void sortIndicatorChanged(int logicalIndex, Qt::SortOrder order)
void sortIndicatorClearableChanged(bool clearable)

Fonctions protégées

virtual void initStyleOption(QStyleOptionHeader *option) const
(since 6.0) virtual void initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) const
virtual void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
virtual QSize sectionSizeFromContents(int logicalIndex) const

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

virtual void currentChanged(const QModelIndex &current, const QModelIndex &old) override
virtual bool event(QEvent *e) override
virtual int horizontalOffset() const override
virtual void mouseDoubleClickEvent(QMouseEvent *e) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void paintEvent(QPaintEvent *e) override
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) override
virtual int verticalOffset() const override
virtual bool viewportEvent(QEvent *e) override

Slots protégés

void resizeSections()
void sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast)
void sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast)

Description détaillée

Une QHeaderView affiche les en-têtes utilisés dans les vues d'éléments telles que les classes QTableView et QTreeView. Elle remplace la classe QHeader de Qt3 utilisée précédemment dans le même but, mais utilise l'architecture modèle/vue de Qt pour des raisons de cohérence avec les classes de vues d'éléments.

La classe QHeaderView est l'une des classes Modèle/Vue et fait partie du cadre modèle/vue de Qt.

L'en-tête obtient les données de chaque section à partir du modèle à l'aide de la fonction QAbstractItemModel::headerData(). Vous pouvez définir les données à l'aide de la fonction QAbstractItemModel::setHeaderData().

Chaque en-tête possède une fonction orientation() et un nombre de sections, donné par la fonction count(). Une section fait référence à une partie de l'en-tête - soit une ligne, soit une colonne, en fonction de l'orientation.

Les sections peuvent être déplacées et redimensionnées à l'aide des fonctions moveSection() et resizeSection() ; elles peuvent également être masquées et affichées à l'aide des fonctions hideSection() et showSection().

Chaque section d'un en-tête est décrite par un identifiant de section, spécifié par sa section(), et peut être située à un endroit particulier visualIndex() dans l'en-tête. Une section peut avoir un indicateur de tri défini avec setSortIndicator() ; cela indique si les éléments de la vue d'élément associée seront triés dans l'ordre donné par la section.

Pour un en-tête horizontal, la section est équivalente à une colonne dans le modèle, et pour un en-tête vertical, la section est équivalente à une ligne dans le modèle.

Déplacement des sections d'en-tête

Un en-tête peut être fixé ou déplacé à l'aide de setSectionsMovable(). Il peut être rendu cliquable avec setSectionsClickable(), et son comportement de redimensionnement est conforme à setSectionResizeMode().

Remarque : le fait de double-cliquer sur un en-tête pour redimensionner une section ne s'applique qu'aux lignes visibles.

Un en-tête émettra sectionMoved() si l'utilisateur déplace une section, sectionResized() si l'utilisateur redimensionne une section, et sectionClicked() ainsi que sectionHandleDoubleClicked() en réponse aux clics de souris. Un en-tête émet également sectionCountChanged().

Vous pouvez identifier une section à l'aide des fonctions logicalIndex() et logicalIndexAt(), ou par sa position d'index, à l'aide des fonctions visualIndex() et visualIndexAt(). L'index visuel changera si une section est déplacée, mais l'index logique ne changera pas.

Apparence

QTableWidget et QTableView créent des en-têtes par défaut. Si vous souhaitez que les en-têtes soient visibles, vous pouvez utiliser setVisible().

Tous les ItemDataRolen'ont pas d'effet sur un QHeaderView. Si vous devez dessiner d'autres rôles, vous pouvez sous-classer QHeaderView et réimplémenter paintEvent(). QHeaderView respecte les rôles de données d'éléments suivants, à moins qu'ils ne soient en conflit avec le style (ce qui peut arriver pour les styles qui suivent le thème du bureau) :

TextAlignmentRole, DisplayRole, FontRole, DecorationRole, ForegroundRole, et BackgroundRole.

Remarque : chaque en-tête rend lui-même les données de chaque section et ne dépend pas d'un délégué. Par conséquent, l'appel à la fonction setItemDelegate() d'un en-tête n'aura aucun effet.

Considérations particulières pour les modèles de grande taille

La vue d'en-tête utilise 8 à 16 octets de mémoire par section. Cependant, depuis Qt 6.9, cette mémoire de section n'est utilisée que si une ou plusieurs sections sont redimensionnées ou réorganisées. Cela signifie qu'un modèle peut avoir des millions de sections sans que QHeaderView ne consomme une quantité proportionnelle, et donc énorme, de mémoire, tant qu'il n' y a pas d'appels à swapSections, resizeSection, hideSection, moveSection, et stretchLastSection (ce qui l'active). Afin d'éviter de tels appels par des actions de l'utilisateur, le site resize mode devrait être Fixed (sans le spécifier pour aucun index, car cela aurait l'effet inverse). Il convient également d'empêcher l'utilisateur de déplacer des sections en désactivant sectionsMovable.

Voir également Programmation modèle/vue, QListView, QTableView, et QTreeView.

Documentation sur les types de membres

enum QHeaderView::ResizeMode

Le mode de redimensionnement spécifie le comportement des sections de l'en-tête. Il peut être défini pour l'ensemble de l'en-tête ou pour des sections individuelles à l'aide de setSectionResizeMode().

ConstanteValeurDescription du mode de redimensionnement
QHeaderView::Interactive0L'utilisateur peut redimensionner la section. La section peut également être redimensionnée par programme à l'aide de resizeSection(). La taille de la section est fixée par défaut à defaultSectionSize(voir également cascadingSectionResizes).
QHeaderView::Fixed2L'utilisateur ne peut pas redimensionner la section. La section ne peut être redimensionnée que par programme en utilisant resizeSection(). La taille de la section est fixée par défaut à defaultSectionSize.
QHeaderView::Stretch1QHeaderView Le logiciel de gestion des sections redimensionnera automatiquement la section pour remplir l'espace disponible. La taille ne peut pas être modifiée par l'utilisateur ou par programme.
QHeaderView::ResizeToContents3QHeaderView redimensionne automatiquement la section à sa taille optimale en fonction du contenu de la colonne ou de la ligne entière. La taille ne peut être modifiée ni par l'utilisateur ni par le programme. (Cette valeur a été introduite dans la version 4.2)

Les valeurs suivantes sont obsolètes :

ConstanteValeurDescription
QHeaderView::CustomFixedUtilisez Fixed à la place.

Voir aussi setSectionResizeMode(), stretchLastSection, et minimumSectionSize.

Documentation sur les propriétés

cascadingSectionResizes : bool

Cette propriété indique si le redimensionnement interactif sera appliqué en cascade aux sections suivantes une fois que la section redimensionnée par l'utilisateur a atteint sa taille minimale

Cette propriété n'affecte que les sections dont le mode de redimensionnement est Interactive.

La valeur par défaut est false.

Fonctions d'accès :

bool cascadingSectionResizes() const
void setCascadingSectionResizes(bool enable)

Voir aussi setSectionResizeMode().

defaultAlignment : Qt::Alignment

Cette propriété définit l'alignement par défaut du texte dans chaque section d'en-tête.

Fonctions d'accès :

Qt::Alignment defaultAlignment() const
void setDefaultAlignment(Qt::Alignment alignment)

defaultSectionSize : int

Cette propriété définit la taille par défaut des sections d'en-tête avant leur redimensionnement.

Cette propriété n'affecte que les sections dont le mode de redimensionnement est Interactive ou Fixed.

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 à setDefaultSectionSize() arrête les mises à jour, l'appel à resetDefaultSectionSize() rétablit le comportement par défaut.

Fonctions d'accès :

int defaultSectionSize() const
void setDefaultSectionSize(int size)
void resetDefaultSectionSize()

Voir aussi setSectionResizeMode() et minimumSectionSize.

firstSectionMovable : bool

Cette propriété détermine si la première colonne peut être déplacée par l'utilisateur

Cette propriété détermine si la première colonne peut être déplacée par l'utilisateur. Dans une page QTreeView, la première colonne contient l'arborescence et n'est donc pas déplaçable par défaut, même après setSectionsMovable(true).

Elle peut être déplacée à nouveau, par exemple dans le cas de listes plates sans structure arborescente, en appelant cette méthode. Dans ce cas, il est recommandé d'appeler également QTreeView::setRootIsDecorated(false).

treeView->setRootIsDecorated(false);
treeView->header()->setFirstSectionMovable(true);

Le fait de lui attribuer la valeur true n'a aucun effet si setSectionsMovable(true) n'est pas également appelé.

Fonctions d'accès :

bool isFirstSectionMovable() const
void setFirstSectionMovable(bool movable)

Voir aussi setSectionsMovable().

highlightSections : bool

Cette propriété indique si les sections contenant les éléments sélectionnés sont mises en évidence

Par défaut, cette propriété est false.

Fonctions d'accès :

bool highlightSections() const
void setHighlightSections(bool highlight)

maximumSectionSize : int

Cette propriété indique la taille maximale des sections de l'en-tête.

La taille maximale de la section est la plus grande taille de section autorisée. La valeur par défaut de cette propriété est 1048575, qui est également la plus grande taille possible pour une section. La définition de la valeur maximale à -1 réinitialise la valeur à la taille de section la plus grande.

À l'exception de l'étirement, cette propriété est respectée par toutes les fonctions d'accès. resize modes

Access :

int maximumSectionSize() const
void setMaximumSectionSize(int size)

Voir également setSectionResizeMode() et defaultSectionSize.

minimumSectionSize : int

Cette propriété définit la taille minimale des sections de l'en-tête.

La taille minimale de la section est la plus petite taille de section autorisée. Si la taille minimale de la section est fixée à -1, QHeaderView utilisera la taille de font metrics.

Cette propriété est respectée par tous les resize modes.

Access :

int minimumSectionSize() const
void setMinimumSectionSize(int size)

Voir également setSectionResizeMode() et defaultSectionSize.

sectionsClickable : bool

Tient true si l'en-tête est cliquable ; sinon false. Un en-tête cliquable pourrait être mis en place pour permettre à l'utilisateur de modifier la représentation des données dans la vue liée à l'en-tête.

Fonctions d'accès :

bool sectionsClickable() const
void setSectionsClickable(bool clickable)

Voir également sectionPressed() et setSortIndicatorShown().

sectionsMovable : bool

Si sectionsMovable est vrai, les sections d'en-tête peuvent être déplacées par l'utilisateur ; sinon, elles sont fixes.

Lorsqu'elle est utilisée en combinaison avec QTreeView, la première colonne n'est pas déplaçable (puisqu'elle contient l'arborescence), par défaut. Vous pouvez la rendre mobile avec setFirstSectionMovable(true).

Fonctions d'accès :

bool sectionsMovable() const
void setSectionsMovable(bool movable)

Voir aussi sectionMoved() et setFirstSectionMovable().

showSortIndicator : bool

Cette propriété indique si l'indicateur de tri est affiché

Par défaut, cette propriété est false.

Fonctions d'accès :

bool isSortIndicatorShown() const
void setSortIndicatorShown(bool show)

Voir également setSectionsClickable().

[since 6.1] sortIndicatorClearable : bool

Cette propriété détermine si l'indicateur de tri peut être supprimé en cliquant plusieurs fois sur une section.

Cette propriété détermine si l'utilisateur peut supprimer l'indicateur de tri d'une section donnée en cliquant plusieurs fois sur cette section. Normalement, le fait de cliquer sur une section modifie simplement l'ordre de tri de cette section. En attribuant la valeur true à cette propriété, l'indicateur de tri sera effacé après avoir alterné entre l'ordre ascendant et l'ordre descendant, ce qui permet généralement de rétablir l'ordre de tri initial d'un modèle.

La définition de cette propriété à true n'a aucun effet à moins que sectionsClickable() ne soit également true (ce qui est la valeur par défaut pour certaines vues, par exemple QTableView, ou est automatiquement défini lorsqu'on rend une vue triable, par exemple en appelant QTreeView::setSortingEnabled).

Cette propriété a été introduite dans Qt 6.1.

Fonctions d'accès :

bool isSortIndicatorClearable() const
void setSortIndicatorClearable(bool clearable)

Signal Notifier :

void sortIndicatorClearableChanged(bool clearable)

stretchLastSection : bool

Cette propriété indique si la dernière section visible de l'en-tête occupe tout l'espace disponible

La valeur par défaut est false.

Remarque : les en-têtes horizontaux fournis par QTreeView sont configurés avec cette propriété définie sur true, ce qui garantit que la vue ne gaspille pas l'espace qui lui est attribué pour son en-tête. Si cette valeur est définie sur true, cette propriété remplacera le mode de redimensionnement défini pour la dernière section de l'en-tête.

Fonctions d'accès :

bool stretchLastSection() const
void setStretchLastSection(bool stretch)

Voir également setSectionResizeMode().

Documentation des fonctions membres

[explicit] QHeaderView::QHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr)

Crée un nouvel en-tête générique avec les données orientation et parent.

[virtual noexcept] QHeaderView::~QHeaderView()

Détruit l'en-tête.

int QHeaderView::count() const

Renvoie le nombre de sections dans l'en-tête.

Voir aussi sectionCountChanged() et length().

[override virtual protected] void QHeaderView::currentChanged(const QModelIndex &current, const QModelIndex &old)

Réimplémente : QAbstractItemView::currentChanged(const QModelIndex &current, const QModelIndex &previous).

[override virtual protected] bool QHeaderView::event(QEvent *e)

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

[signal] void QHeaderView::geometriesChanged()

Ce signal est émis lorsque les géométries de l'en-tête ont changé.

[slot] void QHeaderView::headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast)

Met à jour les sections d'en-tête modifiées avec l'adresse orientation, de logicalFirst à logicalLast inclus.

int QHeaderView::hiddenSectionCount() const

Renvoie le nombre de sections de l'en-tête qui ont été cachées.

Voir aussi setSectionHidden() et isSectionHidden().

void QHeaderView::hideSection(int logicalIndex)

Cache la section spécifiée par logicalIndex.

Voir aussi showSection(), isSectionHidden(), hiddenSectionCount() et setSectionHidden().

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

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

Renvoie le décalage horizontal de l'en-tête. La valeur est de 0 pour les en-têtes verticaux.

Voir aussi offset().

[virtual protected] void QHeaderView::initStyleOption(QStyleOptionHeader *option) const

Initialiser option avec les valeurs de ce QHeaderView. Cette méthode est utile pour les sous-classes qui ont besoin d'un QStyleOptionHeader, mais qui ne veulent pas remplir toutes les informations elles-mêmes.

Voir aussi QStyleOption::initFrom() et initStyleOptionForIndex().

[virtual protected, since 6.0] void QHeaderView::initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) const

Initialise le style option à partir du style logicalIndex spécifié. Cette fonction est appelée par l'implémentation par défaut de paintSection après que initStyleOption a été appelé.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi paintSection() et initStyleOption().

bool QHeaderView::isSectionHidden(int logicalIndex) const

Renvoie true si la section spécifiée par logicalIndex est explicitement cachée à l'utilisateur ; sinon, renvoie false.

Voir aussi hideSection(), showSection(), setSectionHidden() et hiddenSectionCount().

int QHeaderView::length() const

Renvoie la longueur de l'orientation de l'en-tête.

Voir aussi sizeHint(), setSectionResizeMode(), et offset().

int QHeaderView::logicalIndex(int visualIndex) const

Renvoie l'indice logique de la section à la position visualIndex donnée, ou -1 si visualIndex < 0 ou visualIndex >= QHeaderView::count().

Notez que visualIndex n'est pas affecté par les sections cachées.

Voir aussi visualIndex() et sectionPosition().

int QHeaderView::logicalIndexAt(const QPoint &pos) const

Renvoie l'index logique de la section à la position indiquée dans pos. Si l'en-tête est horizontal, la coordonnée x sera utilisée, sinon la coordonnée y sera utilisée pour trouver l'index logique.

Voir aussi sectionPosition().

int QHeaderView::logicalIndexAt(int position) const

Renvoie la section qui couvre le site position dans la fenêtre de visualisation.

Voir aussi visualIndexAt() et isSectionHidden().

int QHeaderView::logicalIndexAt(int x, int y) const

Renvoie l'index logique de la section à la coordonnée donnée. Si l'en-tête est horizontal, x sera utilisé, sinon y sera utilisé pour trouver l'index logique.

[override virtual protected] void QHeaderView::mouseDoubleClickEvent(QMouseEvent *e)

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

[override virtual protected] void QHeaderView::mouseMoveEvent(QMouseEvent *e)

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

[override virtual protected] void QHeaderView::mousePressEvent(QMouseEvent *e)

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

[override virtual protected] void QHeaderView::mouseReleaseEvent(QMouseEvent *e)

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

void QHeaderView::moveSection(int from, int to)

Déplace la section à l'index visuel from pour occuper l'index visuel to.

Voir aussi sectionsMoved().

int QHeaderView::offset() const

Renvoie le décalage de l'en-tête : il s'agit du pixel visible le plus à gauche (ou le plus en haut pour les en-têtes verticaux) de l'en-tête.

Voir aussi setOffset().

Qt::Orientation QHeaderView::orientation() const

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

Voir aussi Qt::Orientation.

[override virtual protected] void QHeaderView::paintEvent(QPaintEvent *e)

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

[virtual protected] void QHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const

Peint la section spécifiée par l'adresse logicalIndex, en utilisant les adresses painter et rect.

Normalement, il n'est pas nécessaire d'appeler cette fonction.

[override virtual] void QHeaderView::reset()

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

int QHeaderView::resizeContentsPrecision() const

Renvoie le degré de précision du calcul de QHeaderView sur ResizeToContents.

Voir aussi setResizeContentsPrecision() et setSectionResizeMode().

void QHeaderView::resizeSection(int logicalIndex, int size)

Redimensionne la section spécifiée par logicalIndex à size en pixels. Le paramètre size doit avoir une valeur supérieure ou égale à zéro. Une taille égale à zéro n'est cependant pas recommandée. Dans ce cas, il convient d'utiliser hideSection.

Voir aussi sectionResized(), sectionSize() et hideSection().

[protected slot] void QHeaderView::resizeSections()

Redimensionne les sections en fonction de leurs indices de taille. Normalement, il n'est pas nécessaire d'appeler cette fonction.

Note : Ce slot est surchargé. Pour se connecter à ce slot :

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        headerView, qOverload<>(&QHeaderView::resizeSections));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        headerView, [receiver = headerView]() { receiver->resizeSections(); });
Pour plus d'exemples et d'approches, voir Connexion aux slots surchargés.

void QHeaderView::resizeSections(QHeaderView::ResizeMode mode)

Redimensionne les sections en fonction de l'adresse mode, en ignorant le mode de redimensionnement actuel.

Voir aussi sectionResized().

bool QHeaderView::restoreState(const QByteArray &state)

Restaure le site state de cette vue d'en-tête. Cette fonction renvoie true si l'état a été restauré, sinon elle renvoie false.

Voir aussi saveState().

QByteArray QHeaderView::saveState() const

Sauvegarde l'état actuel de cette vue d'en-tête.

Pour restaurer l'état sauvegardé, passez la valeur de retour à restoreState().

Voir aussi restoreState().

[signal] void QHeaderView::sectionClicked(int logicalIndex)

Ce signal est émis lorsqu'une section est cliquée. L'index logique de la section est spécifié par logicalIndex.

Notez que le signal sectionPressed sera également émis.

Voir aussi setSectionsClickable() et sectionPressed().

[signal] void QHeaderView::sectionCountChanged(int oldCount, int newCount)

Ce signal est émis lorsque le nombre de sections change, c'est-à-dire lorsque des sections sont ajoutées ou supprimées. Le nombre initial est spécifié par oldCount, et le nouveau nombre par newCount.

Voir également count(), length() et headerDataChanged().

[signal] void QHeaderView::sectionDoubleClicked(int logicalIndex)

Ce signal est émis lorsqu'une section est double-cliquée. L'index logique de la section est spécifié par logicalIndex.

Voir aussi setSectionsClickable().

[signal] void QHeaderView::sectionEntered(int logicalIndex)

Ce signal est émis lorsque le curseur se déplace sur la section et que le bouton gauche de la souris est enfoncé. L'index logique de la section est spécifié par logicalIndex.

Voir aussi setSectionsClickable() et sectionPressed().

[signal] void QHeaderView::sectionHandleDoubleClicked(int logicalIndex)

Ce signal est émis lorsqu'une section est double-cliquée. L'index logique de la section est spécifié par logicalIndex.

Voir aussi setSectionsClickable().

[signal] void QHeaderView::sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex)

Ce signal est émis lorsqu'une section est déplacée. L'index logique de la section est spécifié par logicalIndex, l'ancien index par oldVisualIndex, et la nouvelle position d'index par newVisualIndex.

Voir aussi moveSection().

int QHeaderView::sectionPosition(int logicalIndex) const

Renvoie la position de la section du site logicalIndex, ou -1 si la section est cachée. La position est mesurée en pixels à partir du coin supérieur gauche du premier élément visible jusqu'au coin supérieur gauche de l'élément avec logicalIndex. La mesure se fait sur l'axe des x pour les en-têtes horizontaux et sur l'axe des y pour les en-têtes verticaux.

Voir également sectionViewportPosition().

[signal] void QHeaderView::sectionPressed(int logicalIndex)

Ce signal est émis lorsqu'une section est pressée. L'index logique de la section est spécifié par logicalIndex.

Voir aussi setSectionsClickable().

QHeaderView::ResizeMode QHeaderView::sectionResizeMode(int logicalIndex) const

Renvoie le mode de redimensionnement qui s'applique à la section spécifiée par l'adresse logicalIndex.

Voir aussi setSectionResizeMode().

[signal] void QHeaderView::sectionResized(int logicalIndex, int oldSize, int newSize)

Ce signal est émis lorsqu'une section est redimensionnée. Le numéro logique de la section est spécifié par logicalIndex, l'ancienne taille par oldSize, et la nouvelle taille par newSize.

Voir aussi resizeSection().

int QHeaderView::sectionSize(int logicalIndex) const

Renvoie la largeur (ou la hauteur pour les en-têtes verticaux) de la page logicalIndex.

Voir aussi length(), setSectionResizeMode(), et defaultSectionSize().

[virtual protected] QSize QHeaderView::sectionSizeFromContents(int logicalIndex) const

Renvoie la taille du contenu de la section spécifiée par l'adresse logicalIndex.

Voir aussi defaultSectionSize().

int QHeaderView::sectionSizeHint(int logicalIndex) const

Renvoie un indice de taille approprié pour la section spécifiée par logicalIndex.

Qt::SizeHintRole

Voir aussi sizeHint(), defaultSectionSize(), minimumSectionSize(), et maximumSectionSize().

int QHeaderView::sectionViewportPosition(int logicalIndex) const

Renvoie la position de la section dans la fenêtre de visualisation de l'adresse logicalIndex.

Si la section est cachée, la valeur retournée est indéfinie.

Voir aussi sectionPosition() et isSectionHidden().

[protected slot] void QHeaderView::sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast)

Ce slot est appelé lorsque des sections sont supprimées du site parent. logicalFirst et logicalLast indiquent l'endroit où les sections ont été supprimées.

Si une seule section est supprimée, logicalFirst et logicalLast seront identiques.

bool QHeaderView::sectionsClickable() const

Renvoie sectionsClickable.

Remarque : fonction Getter pour la propriété sectionsClickable.

Voir également setSectionsClickable().

bool QHeaderView::sectionsHidden() const

Renvoie true si des sections de l'en-tête ont été cachées ; sinon, renvoie false ;

Voir aussi setSectionHidden().

[protected slot] void QHeaderView::sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast)

Ce slot est appelé lorsque des sections sont insérées dans le site parent. Les indices logicalFirst et logicalLast indiquent l'endroit où les nouvelles sections ont été insérées.

Si une seule section est insérée, logicalFirst et logicalLast seront identiques.

bool QHeaderView::sectionsMovable() const

Renvoie sectionsMovable.

Note : Fonction d'obtention pour la propriété sectionsMovable.

Voir également setSectionsMovable().

bool QHeaderView::sectionsMoved() const

Renvoie true si des sections de l'en-tête ont été déplacées ; sinon, renvoie false ;

Voir aussi moveSection().

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

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

[slot] void QHeaderView::setOffset(int offset)

Fixe le décalage de l'en-tête à offset.

Voir aussi offset() et length().

[slot] void QHeaderView::setOffsetToLastSection()

Définit le décalage pour que la dernière section soit visible.

Voir aussi setOffset(), sectionPosition() et setOffsetToSectionPosition().

[slot] void QHeaderView::setOffsetToSectionPosition(int visualSectionNumber)

Définit le décalage par rapport au début de la section à l'adresse visualSectionNumber. visualSectionNumber est la section visible réelle lorsque les hiddenSections ne sont pas prises en compte. Ce n'est pas toujours la même chose que visualIndex().

Voir également setOffset() et sectionPosition().

void QHeaderView::setResizeContentsPrecision(int precision)

Définit la précision avec laquelle QHeaderView doit calculer la taille lorsque ResizeToContents est utilisé. Une valeur faible permet un redimensionnement automatique moins précis mais rapide, tandis qu'une valeur élevée permet un redimensionnement plus précis, mais qui peut être lent.

Le nombre precision indique le nombre de sections à prendre en compte dans le calcul de la taille préférée.

La valeur par défaut est 1000, ce qui signifie qu'une colonne horizontale avec redimensionnement automatique prendra en compte un maximum de 1000 lignes lors du calcul du redimensionnement automatique.

La valeur spéciale 0 signifie que seule la zone visible sera prise en compte. La valeur spéciale -1 implique l'examen de tous les éléments.

Cette valeur est utilisée dans QTableView::sizeHintForColumn(), QTableView::sizeHintForRow() et QTreeView::sizeHintForColumn(). La réimplémentation de ces fonctions peut faire en sorte que cette fonction n'ait pas d'effet.

Voir aussi resizeContentsPrecision(), setSectionResizeMode(), resizeSections(), QTableView::sizeHintForColumn(), QTableView::sizeHintForRow() et QTreeView::sizeHintForColumn().

void QHeaderView::setSectionHidden(int logicalIndex, bool hide)

Si hide est vrai, la section spécifiée par logicalIndex est cachée ; sinon, la section est affichée.

Voir aussi isSectionHidden() et hiddenSectionCount().

void QHeaderView::setSectionResizeMode(QHeaderView::ResizeMode mode)

Fixe les contraintes de redimensionnement de l'en-tête à celles décrites par l'adresse mode.

Voir aussi sectionResizeMode(), length(), et sectionResized().

void QHeaderView::setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)

Définit les contraintes sur la manière dont la section spécifiée par logicalIndex dans l'en-tête peut être redimensionnée en fonction de celles décrites par mode. L'index logique doit exister au moment où cette fonction est appelée.

Remarque : ce paramètre sera ignoré pour la dernière section si la propriété stretchLastSection est définie sur true. C'est la valeur par défaut pour les en-têtes horizontaux fournis par QTreeView.

Voir également setStretchLastSection() et resizeContentsPrecision().

void QHeaderView::setSectionsClickable(bool clickable)

Remplacer sectionsClickable par clickable.

Note : Fonction de définition de la propriété sectionsClickable.

Voir aussi sectionsClickable().

void QHeaderView::setSectionsMovable(bool movable)

Remplace sectionsMovable par movable.

Note : Fonction de définition de la propriété sectionsMovable.

Voir aussi sectionsMovable().

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

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

Sélectionne les éléments de l'adresse rect donnée en fonction de l'adresse flags spécifiée.

L'implémentation de la classe de base ne fait rien.

void QHeaderView::setSortIndicator(int logicalIndex, Qt::SortOrder order)

Définit l'indicateur de tri pour la section spécifiée par logicalIndex dans la direction spécifiée par order, et supprime l'indicateur de tri de toute autre section qui l'affichait.

logicalIndex peut être -1, auquel cas aucun indicateur de tri ne sera affiché et le modèle reviendra à son ordre naturel, non trié. Notez que tous les modèles ne supportent pas cela et peuvent même se bloquer dans ce cas.

Voir également sortIndicatorSection() et sortIndicatorOrder().

[override virtual] void QHeaderView::setVisible(bool v)

Réimplémente une fonction d'accès à la propriété : QWidget::visible.

void QHeaderView::showSection(int logicalIndex)

Affiche la section spécifiée par logicalIndex.

Voir aussi hideSection(), isSectionHidden(), hiddenSectionCount() et setSectionHidden().

[override virtual] QSize QHeaderView::sizeHint() const

Réimplémente : QAbstractScrollArea::sizeHint() const.

Renvoie un indice de taille approprié pour cet en-tête.

Voir aussi sectionSizeHint().

[signal] void QHeaderView::sortIndicatorChanged(int logicalIndex, Qt::SortOrder order)

Ce signal est émis lorsque la section contenant l'indicateur de tri ou l'ordre indiqué est modifié. L'index logique de la section est spécifié par logicalIndex et l'ordre de tri est spécifié par order.

Voir aussi setSortIndicator().

Qt::SortOrder QHeaderView::sortIndicatorOrder() const

Renvoie l'ordre de l'indicateur de tri. Si aucune section n'a d'indicateur de tri, la valeur de retour de cette fonction est indéfinie.

Voir aussi setSortIndicator() et sortIndicatorSection().

int QHeaderView::sortIndicatorSection() const

Renvoie l'index logique de la section qui possède un indicateur de tri. Par défaut, il s'agit de la section 0.

Voir aussi setSortIndicator(), sortIndicatorOrder() et setSortIndicatorShown().

int QHeaderView::stretchSectionCount() const

Renvoie le nombre de sections qui sont définies en mode de redimensionnement par étirement. Dans les vues, cela peut être utilisé pour voir si la vue d'en-tête doit redimensionner les sections lorsque la géométrie de la vue change.

Voir également stretchLastSection.

void QHeaderView::swapSections(int first, int second)

Remplace la section à l'indice visuel first par la section à l'indice visuel second.

Voir aussi moveSection().

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

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

Renvoie le décalage vertical de l'en-tête. Il est égal à 0 pour les en-têtes horizontaux.

Voir aussi offset().

[override virtual protected] bool QHeaderView::viewportEvent(QEvent *e)

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

int QHeaderView::visualIndex(int logicalIndex) const

Renvoie la position de l'indice visuel de la section spécifiée par l'adresse logicalIndex, ou -1 dans le cas contraire.

Les sections cachées ont toujours des index visuels valides.

Voir aussi logicalIndex().

int QHeaderView::visualIndexAt(int position) const

Renvoie l'indice visuel de la section qui couvre l'adresse position dans la fenêtre de visualisation.

Voir aussi logicalIndexAt().

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