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 ¤t, 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().
| Constante | Valeur | Description du mode de redimensionnement |
|---|---|---|
QHeaderView::Interactive | 0 | L'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::Fixed | 2 | L'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::Stretch | 1 | QHeaderView 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::ResizeToContents | 3 | QHeaderView 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 :
| Constante | Valeur | Description |
|---|---|---|
QHeaderView::Custom | Fixed | Utilisez 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 ¤t, const QModelIndex &old)
Réimplémente : QAbstractItemView::currentChanged(const QModelIndex ¤t, 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(); });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.
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.