QAbstractItemView Class
La classe QAbstractItemView fournit les fonctionnalités de base des classes de vues d'éléments. Plus d'informations...
| En-tête : | #include <QAbstractItemView> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite : | QAbstractScrollArea |
| Inherited By : | QColumnView, QHeaderView, QListView, QTableView, et QTreeView |
Types publics
| enum | DragDropMode { NoDragDrop, DragOnly, DropOnly, DragDrop, InternalMove } |
| enum | EditTrigger { NoEditTriggers, CurrentChanged, DoubleClicked, SelectedClicked, EditKeyPressed, …, AllEditTriggers } |
| flags | EditTriggers |
| enum | ScrollHint { EnsureVisible, PositionAtTop, PositionAtBottom, PositionAtCenter } |
| enum | ScrollMode { ScrollPerItem, ScrollPerPixel } |
| enum | SelectionBehavior { SelectItems, SelectRows, SelectColumns } |
| enum | SelectionMode { SingleSelection, ContiguousSelection, ExtendedSelection, MultiSelection, NoSelection } |
Propriétés
|
|
Fonctions publiques
| QAbstractItemView(QWidget *parent = nullptr) | |
| virtual | ~QAbstractItemView() |
| bool | alternatingRowColors() const |
| int | autoScrollMargin() const |
| void | closePersistentEditor(const QModelIndex &index) |
| QModelIndex | currentIndex() const |
| Qt::DropAction | defaultDropAction() const |
| QAbstractItemView::DragDropMode | dragDropMode() const |
| bool | dragDropOverwriteMode() const |
| bool | dragEnabled() const |
| QAbstractItemView::EditTriggers | editTriggers() const |
| bool | hasAutoScroll() const |
| QAbstractItemView::ScrollMode | horizontalScrollMode() const |
| QSize | iconSize() const |
| virtual QModelIndex | indexAt(const QPoint &point) const = 0 |
| QWidget * | indexWidget(const QModelIndex &index) const |
| bool | isPersistentEditorOpen(const QModelIndex &index) const |
| QAbstractItemDelegate * | itemDelegate() const |
| QAbstractItemDelegate * | itemDelegateForColumn(int column) const |
(since 6.0) virtual QAbstractItemDelegate * | itemDelegateForIndex(const QModelIndex &index) const |
| QAbstractItemDelegate * | itemDelegateForRow(int row) const |
| virtual void | keyboardSearch(const QString &search) |
| Qt::MatchFlags | keyboardSearchFlags() const |
| QAbstractItemModel * | model() const |
| void | openPersistentEditor(const QModelIndex &index) |
| void | resetHorizontalScrollMode() |
| void | resetVerticalScrollMode() |
| QModelIndex | rootIndex() const |
| virtual void | scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) = 0 |
| QAbstractItemView::SelectionBehavior | selectionBehavior() const |
| QAbstractItemView::SelectionMode | selectionMode() const |
| QItemSelectionModel * | selectionModel() const |
| void | setAlternatingRowColors(bool enable) |
| void | setAutoScroll(bool enable) |
| void | setAutoScrollMargin(int margin) |
| void | setDefaultDropAction(Qt::DropAction dropAction) |
| void | setDragDropMode(QAbstractItemView::DragDropMode behavior) |
| void | setDragDropOverwriteMode(bool overwrite) |
| void | setDragEnabled(bool enable) |
| void | setDropIndicatorShown(bool enable) |
| void | setEditTriggers(QAbstractItemView::EditTriggers triggers) |
| void | setHorizontalScrollMode(QAbstractItemView::ScrollMode mode) |
| void | setIconSize(const QSize &size) |
| void | setIndexWidget(const QModelIndex &index, QWidget *widget) |
| void | setItemDelegate(QAbstractItemDelegate *delegate) |
| void | setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate) |
| void | setItemDelegateForRow(int row, QAbstractItemDelegate *delegate) |
| void | setKeyboardSearchFlags(Qt::MatchFlags searchFlags) |
| virtual void | setModel(QAbstractItemModel *model) |
| void | setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior) |
| void | setSelectionMode(QAbstractItemView::SelectionMode mode) |
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) |
| void | setTabKeyNavigation(bool enable) |
| void | setTextElideMode(Qt::TextElideMode mode) |
| void | setUpdateThreshold(int threshold) |
| void | setVerticalScrollMode(QAbstractItemView::ScrollMode mode) |
| bool | showDropIndicator() const |
| virtual int | sizeHintForColumn(int column) const |
| QSize | sizeHintForIndex(const QModelIndex &index) const |
| virtual int | sizeHintForRow(int row) const |
| bool | tabKeyNavigation() const |
| Qt::TextElideMode | textElideMode() const |
| int | updateThreshold() const |
| QAbstractItemView::ScrollMode | verticalScrollMode() const |
| virtual QRect | visualRect(const QModelIndex &index) const = 0 |
Fonctions publiques réimplémentées
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
Emplacements publics
| void | clearSelection() |
| void | edit(const QModelIndex &index) |
| virtual void | reset() |
| void | scrollToBottom() |
| void | scrollToTop() |
| virtual void | selectAll() |
| void | setCurrentIndex(const QModelIndex &index) |
| virtual void | setRootIndex(const QModelIndex &index) |
| void | update(const QModelIndex &index) |
Signaux
| void | activated(const QModelIndex &index) |
| void | clicked(const QModelIndex &index) |
| void | doubleClicked(const QModelIndex &index) |
| void | entered(const QModelIndex &index) |
| void | iconSizeChanged(const QSize &size) |
| void | pressed(const QModelIndex &index) |
| void | viewportEntered() |
Types protégés
| enum | CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight, MoveHome, …, MovePrevious } |
| enum | DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport } |
| enum | State { NoState, DraggingState, DragSelectingState, EditingState, ExpandingState, …, AnimatingState } |
Fonctions protégées
| QPoint | dirtyRegionOffset() const |
| QAbstractItemView::DropIndicatorPosition | dropIndicatorPosition() const |
| virtual bool | edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event) |
| void | executeDelayedItemsLayout() |
| virtual int | horizontalOffset() const = 0 |
(since 6.0) virtual void | initViewItemOption(QStyleOptionViewItem *option) const |
| virtual bool | isIndexHidden(const QModelIndex &index) const = 0 |
| virtual QModelIndex | moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) = 0 |
| void | scheduleDelayedItemsLayout() |
| void | scrollDirtyRegion(int dx, int dy) |
| virtual QModelIndexList | selectedIndexes() const |
| virtual QItemSelectionModel::SelectionFlags | selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const |
| void | setDirtyRegion(const QRegion ®ion) |
| virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) = 0 |
| void | setState(QAbstractItemView::State state) |
| virtual void | startDrag(Qt::DropActions supportedActions) |
| QAbstractItemView::State | state() const |
| virtual int | verticalOffset() const = 0 |
| virtual QRegion | visualRegionForSelection(const QItemSelection &selection) const = 0 |
Fonctions protégées réimplémentées
| virtual void | dragEnterEvent(QDragEnterEvent *event) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *event) override |
| virtual void | dragMoveEvent(QDragMoveEvent *event) override |
| virtual void | dropEvent(QDropEvent *event) override |
| virtual bool | event(QEvent *event) override |
| virtual bool | eventFilter(QObject *object, QEvent *event) override |
| virtual void | focusInEvent(QFocusEvent *event) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *event) override |
| virtual void | inputMethodEvent(QInputMethodEvent *event) 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 void | resizeEvent(QResizeEvent *event) override |
| virtual void | timerEvent(QTimerEvent *event) override |
| virtual bool | viewportEvent(QEvent *event) override |
| virtual QSize | viewportSizeHint() const override |
Emplacements protégés
| virtual void | closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint) |
| virtuel void | commitData(QWidget *éditeur) |
| virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &previous) |
| vide virtuel (const QModelIndex ¤t | dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>()) |
| virtual void | editorDestroyed(QObject *éditeur) |
| virtual void | rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) |
| vide virtuel (const QModelIndex &parent, int start, int end) | rowsInserted(const QModelIndex &parent, int start, int end) |
| virtuel void | selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) |
| vide virtuel | updateGeometries() |
Description détaillée
La classe QAbstractItemView est la classe de base pour toutes les vues standard qui utilisent QAbstractItemModel. QAbstractItemView est une classe abstraite qui ne peut pas être instanciée. Elle fournit une interface standard pour l'interopérabilité avec les modèles par le biais du mécanisme des signaux et des créneaux, ce qui permet aux sous-classes d'être tenues au courant des modifications apportées à leurs modèles. Cette classe fournit un support standard pour la navigation au clavier et à la souris, le défilement de la fenêtre, l'édition d'éléments et les sélections. La navigation au clavier met en œuvre cette fonctionnalité :
| Touches | Fonctionnalité |
|---|---|
| Touches fléchées | Modifie l'élément en cours et le sélectionne. |
| Touches Ctrl+flèche | Modifie l'élément en cours mais ne le sélectionne pas. |
| Touches Maj+Flèche | Modifie l'élément en cours et le sélectionne. Le(s) élément(s) précédemment sélectionné(s) n'est (ne sont) pas désélectionné(s). |
| Ctrl+Espace | Bascule la sélection de l'élément en cours. |
| Tabulation/Backtab | Permet de passer de l'élément en cours à l'élément suivant/précédent. |
| Accueil/Fin | Sélectionne le premier/dernier élément du modèle. |
| Page précédente/Page suivante | Fait défiler les lignes affichées vers le haut/bas en fonction du nombre de lignes visibles dans la vue. |
| Ctrl+A | Sélectionne tous les éléments du modèle. |
Notez que le tableau ci-dessus suppose que le site selection mode autorise les opérations. Par exemple, vous ne pouvez pas sélectionner des éléments si le mode de sélection est QAbstractItemView::NoSelection.
La classe QAbstractItemView est l'une des classes Modèle/Vue et fait partie du cadre Modèle/Vue de Qt.
Les classes de vues qui héritent de QAbstractItemView n'ont qu'à implémenter leur propre fonctionnalité spécifique à la vue, comme dessiner des éléments, renvoyer la géométrie des éléments, trouver des éléments, etc.
QAbstractItemView fournit des slots communs tels que edit() et setCurrentIndex(). De nombreux emplacements protégés sont également fournis, notamment dataChanged(), rowsInserted(), rowsAboutToBeRemoved(), selectionChanged() et currentChanged().
L'élément racine est renvoyé par rootIndex(), et l'élément courant par currentIndex(). Pour s'assurer qu'un élément est visible, utilisez scrollTo().
Certaines fonctions de QAbstractItemView concernent le défilement, par exemple setHorizontalScrollMode() et setVerticalScrollMode(). Pour définir la portée des barres de défilement, vous pouvez, par exemple, réimplémenter la fonction resizeEvent() de la vue :
void MyView::resizeEvent(QResizeEvent *event) { horizontalScrollBar()->setRange(0, realWidth - width()); ... }
Notez que la plage n'est pas mise à jour tant que le widget n'est pas affiché.
Plusieurs autres fonctions concernent le contrôle de la sélection, par exemple setSelectionMode() et setSelectionBehavior(). Cette classe fournit un modèle de sélection par défaut (selectionModel()), mais celui-ci peut être remplacé en utilisant setSelectionModel() avec une instance de QItemSelectionModel.
Pour un contrôle complet de l'affichage et de la modification des éléments, vous pouvez spécifier un délégué à l'aide de setItemDelegate().
QAbstractItemView fournit de nombreuses fonctions protégées. Certaines concernent l'édition, par exemple edit() et commitData(), tandis que d'autres gèrent les événements liés au clavier et à la souris.
Voir aussi Classes de vues, Programmation Modèle/Vue, et QAbstractItemModel.
Documentation sur les types de membres
enum QAbstractItemView::CursorAction
Cette énumération décrit les différentes façons de naviguer entre les éléments,
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::MoveUp | 0 | Passer à l'élément situé au-dessus de l'élément actuel. |
QAbstractItemView::MoveDown | 1 | Se déplacer vers l'élément situé en dessous de l'élément courant. |
QAbstractItemView::MoveLeft | 2 | Déplacement vers l'élément situé à gauche de l'élément actuel. |
QAbstractItemView::MoveRight | 3 | Passer à l'élément situé à droite de l'élément actuel. |
QAbstractItemView::MoveHome | 4 | Se déplacer vers l'élément du coin supérieur gauche. |
QAbstractItemView::MoveEnd | 5 | Se déplacer vers l'élément du coin inférieur droit. |
QAbstractItemView::MovePageUp | 6 | Se déplacer d'une page vers le haut au-dessus de l'élément actuel. |
QAbstractItemView::MovePageDown | 7 | Se déplacer d'une page vers le bas sous l'élément actuel. |
QAbstractItemView::MoveNext | 8 | Se déplacer vers l'élément situé après l'élément actuel. |
QAbstractItemView::MovePrevious | 9 | Se déplacer vers l'élément précédant l'élément actuel. |
Voir également moveCursor().
enum QAbstractItemView::DragDropMode
Décrit les différents événements de glisser-déposer sur lesquels la vue peut agir. Par défaut, la vue ne prend pas en charge le glisser-déposer (NoDragDrop).
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::NoDragDrop | 0 | Ne prend pas en charge le glisser-déposer. |
QAbstractItemView::DragOnly | 1 | La vue prend en charge le glissement de ses propres éléments |
QAbstractItemView::DropOnly | 2 | La vue accepte les dépôts |
QAbstractItemView::DragDrop | 3 | La vue prend en charge à la fois le glissement et le dépôt |
QAbstractItemView::InternalMove | 4 | La vue accepte les opérations de déplacement(et non de copie) uniquement à partir d'elle-même. |
Il convient de noter que le modèle utilisé doit prendre en charge les opérations de glisser-déposer.
Voir également setDragDropMode() et Utilisation de la fonction glisser-déposer avec les vues d'éléments.
enum QAbstractItemView::DropIndicatorPosition
Cette énumération indique la position de l'indicateur de chute par rapport à l'index à la position actuelle de la souris :
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::OnItem | 0 | L'élément sera déposé sur l'index. |
QAbstractItemView::AboveItem | 1 | L'élément sera déposé au-dessus de l'index. |
QAbstractItemView::BelowItem | 2 | L'élément sera déposé en dessous de l'index. |
QAbstractItemView::OnViewport | 3 | L'élément sera déposé dans une région de la fenêtre de visualisation ne contenant aucun élément. La manière dont chaque vue gère les éléments déposés dans la fenêtre dépend du comportement du modèle sous-jacent utilisé. |
enum QAbstractItemView::EditTrigger
flags QAbstractItemView::EditTriggers
Cette énumération décrit les actions qui déclenchent l'édition d'un élément.
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::NoEditTriggers | 0 | Aucune modification possible. |
QAbstractItemView::CurrentChanged | 1 | L'édition commence lorsque l'élément en cours est modifié. |
QAbstractItemView::DoubleClicked | 2 | L'édition commence lorsqu'un élément est doublement cliqué. |
QAbstractItemView::SelectedClicked | 4 | L'édition commence lorsque l'on clique sur un élément déjà sélectionné. |
QAbstractItemView::EditKeyPressed | 8 | L'édition commence lorsque la touche d'édition de la plate-forme a été pressée sur un élément. |
QAbstractItemView::AnyKeyPressed | 16 | L'édition commence lorsque n'importe quelle touche est pressée sur un élément. |
QAbstractItemView::AllEditTriggers | 31 | L'édition commence pour toutes les actions ci-dessus. |
Le type EditTriggers est un typedef pour QFlags<EditTrigger>. Il stocke une combinaison OU de valeurs EditTrigger.
enum QAbstractItemView::ScrollHint
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::EnsureVisible | 0 | Défilement pour s'assurer que l'élément est visible. |
QAbstractItemView::PositionAtTop | 1 | Défilement pour positionner l'élément en haut de la fenêtre. |
QAbstractItemView::PositionAtBottom | 2 | Défilement pour positionner l'élément en bas de la fenêtre. |
QAbstractItemView::PositionAtCenter | 3 | Défilement pour positionner l'élément au centre de la fenêtre. |
enum QAbstractItemView::ScrollMode
Décrit le comportement de la barre de défilement. Lorsque le mode de défilement est réglé sur ScrollPerPixel, la taille du pas unique s'ajuste automatiquement, sauf si elle a été définie explicitement à l'aide de setSingleStep(). L'ajustement automatique peut être rétabli en fixant la taille du pas unique à -1.
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::ScrollPerItem | 0 | L'affichage fait défiler le contenu un élément à la fois. |
QAbstractItemView::ScrollPerPixel | 1 | L'affichage fait défiler le contenu d'un pixel à la fois. |
enum QAbstractItemView::SelectionBehavior
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::SelectItems | 0 | Sélection d'éléments individuels. |
QAbstractItemView::SelectRows | 1 | Sélection de lignes uniquement. |
QAbstractItemView::SelectColumns | 2 | Sélection de colonnes uniquement. |
enum QAbstractItemView::SelectionMode
Cette énumération indique comment la vue réagit aux sélections de l'utilisateur :
| Constante | Valeur | Description |
|---|---|---|
QAbstractItemView::SingleSelection | 1 | Lorsque l'utilisateur sélectionne un élément, tout élément déjà sélectionné est désélectionné. L'utilisateur peut désélectionner l'élément sélectionné en appuyant sur la touche Ctrl lorsqu'il clique sur l'élément sélectionné. |
QAbstractItemView::ContiguousSelection | 4 | Lorsque l'utilisateur sélectionne un élément de la manière habituelle, la sélection est effacée et le nouvel élément est sélectionné. Toutefois, si l'utilisateur appuie sur la touche Shift tout en cliquant sur un élément, tous les éléments situés entre l'élément courant et l'élément cliqué sont sélectionnés ou désélectionnés, en fonction de l'état de l'élément cliqué. |
QAbstractItemView::ExtendedSelection | 3 | Lorsque l'utilisateur sélectionne un élément de la manière habituelle, la sélection est effacée et le nouvel élément est sélectionné. Toutefois, si l'utilisateur appuie sur la touche Ctrl lorsqu'il clique sur un élément, l'élément cliqué est basculé et tous les autres éléments restent inchangés. Si l'utilisateur appuie sur la touche Shift tout en cliquant sur un élément, tous les éléments situés entre l'élément courant et l'élément cliqué sont sélectionnés ou désélectionnés, en fonction de l'état de l'élément cliqué. Il est possible de sélectionner plusieurs éléments en faisant glisser la souris sur eux. |
QAbstractItemView::MultiSelection | 2 | Lorsque l'utilisateur sélectionne un élément de la manière habituelle, l'état de sélection de cet élément est basculé et les autres éléments ne sont pas sélectionnés. Il est possible de faire basculer plusieurs éléments en faisant glisser la souris sur eux. |
QAbstractItemView::NoSelection | 0 | Les éléments ne peuvent pas être sélectionnés. |
Les modes les plus couramment utilisés sont SingleSelection et ExtendedSelection.
enum QAbstractItemView::State
Décrit les différents états dans lesquels la vue peut se trouver. Ceci n'est généralement intéressant que lorsque l'on réimplémente sa propre vue.
| Constante | Valeur | Description de l'état |
|---|---|---|
QAbstractItemView::NoState | 0 | The est l'état par défaut. |
QAbstractItemView::DraggingState | 1 | L'utilisateur fait glisser des éléments. |
QAbstractItemView::DragSelectingState | 2 | L'utilisateur sélectionne des éléments. |
QAbstractItemView::EditingState | 3 | L'utilisateur modifie un élément dans un éditeur de widget. |
QAbstractItemView::ExpandingState | 4 | L'utilisateur ouvre une branche d'éléments. |
QAbstractItemView::CollapsingState | 5 | L'utilisateur ferme une branche d'éléments. |
QAbstractItemView::AnimatingState | 6 | La vue des éléments effectue une animation. |
Documentation sur les propriétés
alternatingRowColors : bool
Cette propriété indique si l'arrière-plan doit être dessiné en utilisant des couleurs alternées
Si cette propriété vaut true, l'arrière-plan de l'élément sera dessiné à l'aide des couleurs QPalette::Base et QPalette::AlternateBase; sinon, l'arrière-plan sera dessiné à l'aide de la couleur QPalette::Base.
Par défaut, cette propriété vaut false.
Fonctions d'accès :
| bool | alternatingRowColors() const |
| void | setAlternatingRowColors(bool enable) |
autoScroll : bool
Cette propriété indique si le défilement automatique dans les événements de déplacement par glissement est activé
Si cette propriété a la valeur true (valeur par défaut), le site QAbstractItemView fait automatiquement défiler le contenu de la vue si l'utilisateur glisse à moins de 16 pixels du bord de la fenêtre. Si l'élément en cours est modifié, l'affichage défile automatiquement pour s'assurer que l'élément en cours est entièrement visible.
Cette propriété ne fonctionne que si la fenêtre accepte les chutes. Le défilement automatique est désactivé en attribuant à cette propriété la valeur false.
Fonctions d'accès :
| bool | hasAutoScroll() const |
| void | setAutoScroll(bool enable) |
autoScrollMargin : int
Cette propriété définit la taille de la zone lorsque le défilement automatique est déclenché
Cette propriété contrôle la taille de la zone au bord de la fenêtre qui déclenche le défilement automatique. La valeur par défaut est de 16 pixels.
Fonctions d'accès :
| int | autoScrollMargin() const |
| void | setAutoScrollMargin(int margin) |
defaultDropAction : Qt::DropAction
Cette propriété contient l'action de dépôt qui sera utilisée par défaut dans QAbstractItemView::drag().
Si la propriété n'est pas définie, l'action de dépôt est CopyAction lorsque les actions prises en charge supportent CopyAction.
Fonctions d'accès :
| Qt::DropAction | defaultDropAction() const |
| void | setDefaultDropAction(Qt::DropAction dropAction) |
Voir également showDropIndicator et dragDropOverwriteMode.
dragDropMode : DragDropMode
Cette propriété contient l'événement de glisser-déposer sur lequel la vue agira.
Fonctions d'accès :
| QAbstractItemView::DragDropMode | dragDropMode() const |
| void | setDragDropMode(QAbstractItemView::DragDropMode behavior) |
Voir également showDropIndicator et dragDropOverwriteMode.
dragDropOverwriteMode : bool
Cette propriété définit le comportement de la vue en matière de glisser-déposer
Si sa valeur est true, les données sélectionnées écraseront les données de l'élément existant lorsqu'elles seront déposées, tandis que le déplacement des données effacera l'élément. Si sa valeur est false, les données sélectionnées sont insérées en tant que nouvel élément lorsqu'elles sont déposées. Lorsque les données sont déplacées, l'élément est également supprimé.
La valeur par défaut est false, comme dans les sous-classes QListView et QTreeView. Dans la sous-classe QTableView, par contre, la propriété a été fixée à true.
Remarque : cela n'a pas pour but d'empêcher l'écrasement des éléments. L'implémentation de flags() du modèle doit le faire en ne renvoyant pas Qt::ItemIsDropEnabled.
Fonctions d'accès :
| bool | dragDropOverwriteMode() const |
| void | setDragDropOverwriteMode(bool overwrite) |
Voir également dragDropMode.
dragEnabled : bool
Cette propriété indique si la vue prend en charge le glissement de ses propres éléments.
Fonctions d'accès :
| bool | dragEnabled() const |
| void | setDragEnabled(bool enable) |
Voir également showDropIndicator, DragDropMode, dragDropOverwriteMode, et acceptDrops.
editTriggers : EditTriggers
Cette propriété définit les actions qui déclencheront l'édition de l'élément
Cette propriété est une sélection de drapeaux définis par EditTrigger, combinés à l'aide de l'opérateur OR. La vue ne lancera l'édition d'un élément que si l'action effectuée est définie dans cette propriété.
La valeur par défaut est :
- pour QTableView: DoubleClicked|AnyKeyPressed
- pour toutes les autres vues : DoubleClicked|EditKeyPressed
Fonctions d'accès :
| QAbstractItemView::EditTriggers | editTriggers() const |
| void | setEditTriggers(QAbstractItemView::EditTriggers triggers) |
horizontalScrollMode : ScrollMode
comment la vue fait défiler son contenu dans le sens horizontal
Cette propriété contrôle la manière dont la vue fait défiler son contenu horizontalement. Le défilement peut se faire par pixel ou par élément. Sa valeur par défaut provient du style via l'indication de style QStyle::SH_ItemView_ScrollMode.
Fonctions d'accès :
| QAbstractItemView::ScrollMode | horizontalScrollMode() const |
| void | setHorizontalScrollMode(QAbstractItemView::ScrollMode mode) |
| void | resetHorizontalScrollMode() |
iconSize : QSize
Cette propriété définit la taille des icônes des éléments
La définition de cette propriété lorsque la vue est visible entraîne une nouvelle disposition des éléments.
Fonctions d'accès :
| QSize | iconSize() const |
| void | setIconSize(const QSize &size) |
Signal de notification :
| void | iconSizeChanged(const QSize &size) |
[since 6.11] keyboardSearchFlags : Qt::MatchFlags
Cette propriété détermine comment l'implémentation par défaut de keyboardSearch() fait correspondre la chaîne donnée aux données du modèle.
La valeur par défaut est Qt::MatchStartsWith|Qt::MatchWrap.
Cette propriété a été introduite dans Qt 6.11.
Fonctions d'accès :
| Qt::MatchFlags | keyboardSearchFlags() const |
| void | setKeyboardSearchFlags(Qt::MatchFlags searchFlags) |
Voir aussi keyboardSearch() et QAbstractItemModel::match().
selectionBehavior : SelectionBehavior
Cette propriété définit le comportement de sélection utilisé par la vue
Cette propriété indique si les sélections sont effectuées en termes d'éléments individuels, de lignes ou de colonnes.
Fonctions d'accès :
| QAbstractItemView::SelectionBehavior | selectionBehavior() const |
| void | setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior) |
Voir également SelectionMode et SelectionBehavior.
selectionMode : SelectionMode
Cette propriété définit le mode de sélection dans lequel la vue fonctionne
Cette propriété détermine si l'utilisateur peut sélectionner un ou plusieurs éléments et, dans le cas d'une sélection de plusieurs éléments, si la sélection doit être une plage continue d'éléments.
Fonctions d'accès :
| QAbstractItemView::SelectionMode | selectionMode() const |
| void | setSelectionMode(QAbstractItemView::SelectionMode mode) |
Voir également SelectionMode et SelectionBehavior.
showDropIndicator : bool
Cette propriété indique si l'indicateur de chute est affiché lorsque l'on fait glisser des éléments et qu'on les dépose.
Fonctions d'accès :
| bool | showDropIndicator() const |
| void | setDropIndicatorShown(bool enable) |
Voir aussi dragEnabled, DragDropMode, dragDropOverwriteMode, et acceptDrops.
tabKeyNavigation : bool
Cette propriété indique si la navigation dans les éléments à l'aide d'un onglet et d'un backtab est activée.
Fonctions d'accès :
| bool | tabKeyNavigation() const |
| void | setTabKeyNavigation(bool enable) |
textElideMode : Qt::TextElideMode
Cette propriété définit la position du "..." dans le texte élidé.
La valeur par défaut pour toutes les vues d'éléments est Qt::ElideRight.
Fonctions d'accès :
| Qt::TextElideMode | textElideMode() const |
| void | setTextElideMode(Qt::TextElideMode mode) |
[since 6.9] updateThreshold : int
Cette propriété contient la quantité d'index modifiés pour déclencher directement une mise à jour complète de la vue à l'intérieur de dataChanged().
L'algorithme de dataChanged() tente de minimiser la mise à jour complète de la vue en calculant si les index modifiés sont visibles ou non. Pour les très grands modèles, avec beaucoup de changements importants, cela peut prendre plus de temps que la mise à jour réelle, ce qui est donc contre-productif. Cette propriété permet de contrôler l'algorithme afin d'ignorer la vérification et de déclencher directement une mise à jour complète lorsque le nombre d'index modifiés dépasse la valeur donnée.
La valeur par défaut est 200.
Cette propriété a été introduite dans Qt 6.9.
Fonctions d'accès :
| int | updateThreshold() const |
| void | setUpdateThreshold(int threshold) |
Voir aussi dataChanged().
verticalScrollMode : ScrollMode
comment la vue fait défiler son contenu dans le sens vertical
Cette propriété contrôle la manière dont la vue fait défiler son contenu dans le sens vertical. Le défilement peut se faire par pixel ou par élément. Sa valeur par défaut provient du style via l'indication de style QStyle::SH_ItemView_ScrollMode.
Fonctions d'accès :
| QAbstractItemView::ScrollMode | verticalScrollMode() const |
| void | setVerticalScrollMode(QAbstractItemView::ScrollMode mode) |
| void | resetVerticalScrollMode() |
Documentation des fonctions membres
[explicit] QAbstractItemView::QAbstractItemView(QWidget *parent = nullptr)
Construit une vue abstraite de l'élément avec l'adresse parent.
[virtual noexcept] QAbstractItemView::~QAbstractItemView()
Détruit la vue.
[signal] void QAbstractItemView::activated(const QModelIndex &index)
Ce signal est émis lorsque l'élément spécifié par index est activé par l'utilisateur. La manière d'activer les éléments dépend de la plateforme ; par exemple, en cliquant une fois ou deux fois sur l'élément, ou en appuyant sur la touche Retour ou Entrée lorsque l'élément est en cours.
Voir également clicked(), doubleClicked(), entered() et pressed().
[slot] void QAbstractItemView::clearSelection()
Désélectionne tous les éléments sélectionnés. L'index actuel ne sera pas modifié.
Voir également setSelection() et selectAll().
[signal] void QAbstractItemView::clicked(const QModelIndex &index)
Ce signal est émis lorsqu'un bouton de la souris est cliqué avec le bouton gauche. L'élément sur lequel la souris a cliqué est spécifié par index. Le signal n'est émis que si l'index est valide.
Voir aussi activated(), doubleClicked(), entered() et pressed().
[virtual protected slot] void QAbstractItemView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)
Ferme le site editor et le libère. L'adresse hint est utilisée pour indiquer comment la vue doit réagir à la fin de l'opération d'édition. Par exemple, l'indice peut indiquer que l'élément suivant de la vue doit être ouvert à l'édition.
Voir également edit() et commitData().
void QAbstractItemView::closePersistentEditor(const QModelIndex &index)
Ferme l'éditeur persistant pour l'élément à l'adresse index.
Voir également openPersistentEditor() et isPersistentEditorOpen().
[virtual protected slot] void QAbstractItemView::commitData(QWidget *editor)
Enregistrer les données contenues dans le site editor dans le modèle.
Voir également closeEditor().
[virtual protected slot] void QAbstractItemView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
Ce slot est appelé lorsqu'un nouvel élément devient l'élément courant. L'élément courant précédent est spécifié par l'indice previous, et le nouvel élément par l'indice current.
Pour connaître les modifications apportées aux éléments, consultez le signal dataChanged().
QModelIndex QAbstractItemView::currentIndex() const
Renvoie l'index du modèle de l'élément en cours.
Voir aussi setCurrentIndex().
[virtual protected slot] void QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())
Ce slot est appelé lorsque des éléments portant le numéro roles sont modifiés dans le modèle. Les éléments modifiés sont ceux compris entre topLeft et bottomRight inclus. Si un seul élément est modifié, topLeft == bottomRight.
Les roles qui ont été modifiés peuvent être soit un conteneur vide (signifiant que tout a changé), soit un conteneur non vide avec le sous-ensemble des rôles qui ont changé.
Note : : Qt::ToolTipRole n'est pas honoré par dataChanged() dans les vues fournies par Qt XML.
[protected] QPoint QAbstractItemView::dirtyRegionOffset() const
Renvoie le décalage des régions sales dans la vue.
Si vous utilisez scrollDirtyRegion() et implémentez paintEvent() dans une sous-classe de QAbstractItemView, vous devez traduire la zone donnée par l'événement paint avec le décalage renvoyé par cette fonction.
Voir également scrollDirtyRegion() et setDirtyRegion().
[signal] void QAbstractItemView::doubleClicked(const QModelIndex &index)
Ce signal est émis lorsqu'un bouton de la souris est doublement cliqué. L'élément sur lequel la souris a double-cliqué est spécifié par index. Le signal n'est émis que si l'index est valide.
Voir aussi clicked() et activated().
[override virtual protected] void QAbstractItemView::dragEnterEvent(QDragEnterEvent *event)
Réimplémente : QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).
Cette fonction est appelée avec l'adresse event lorsqu'une opération de glisser-déposer entre dans le widget. Si le glissement s'effectue au-dessus d'un point de chute valide (par exemple, au-dessus d'un élément qui accepte les chutes), l'événement est accepté ; sinon, il est ignoré.
Voir également dropEvent() et startDrag().
[override virtual protected] void QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event)
Réimplémente : QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).
Cette fonction est appelée lorsque l'élément glissé quitte la vue. Le site event décrit l'état de l'opération de glisser-déposer.
[override virtual protected] void QAbstractItemView::dragMoveEvent(QDragMoveEvent *event)
Réimplémente : QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).
Cette fonction est appelée en continu avec la valeur event lors d'une opération de glisser-déposer sur le widget. Elle peut provoquer le défilement de la vue si, par exemple, l'utilisateur fait glisser une sélection jusqu'au bord droit ou inférieur de la vue. Dans ce cas, l'événement sera accepté, sinon il sera ignoré.
Voir également dropEvent() et startDrag().
[override virtual protected] void QAbstractItemView::dropEvent(QDropEvent *event)
Réimplémente : QAbstractScrollArea::dropEvent(QDropEvent *event).
Cette fonction est appelée avec l'adresse event lorsqu'un événement de chute se produit sur le widget. Si le modèle accepte la position paire, l'événement de chute est accepté ; sinon, il est ignoré.
Voir également startDrag().
[protected] QAbstractItemView::DropIndicatorPosition QAbstractItemView::dropIndicatorPosition() const
Renvoie la position de l'indicateur de chute par rapport à l'élément le plus proche.
[slot] void QAbstractItemView::edit(const QModelIndex &index)
Lance l'édition de l'élément correspondant à l'adresse index donnée, s'il est éditable.
Notez que cette fonction ne modifie pas l'index courant. Étant donné que l'index actuel définit les éléments suivants et précédents à éditer, les utilisateurs peuvent constater que la navigation au clavier ne fonctionne pas comme prévu. Pour assurer une navigation cohérente, appelez setCurrentIndex() avant cette fonction avec le même index de modèle.
Note : Ce slot est surchargé. Pour se connecter à ce slot :
// Connect using qOverload:
connect(sender, &SenderClass::signal,
abstractItemView, qOverload(&QAbstractItemView::edit));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
abstractItemView, [receiver = abstractItemView](const QModelIndex &index) { receiver->edit(index); }); Voir aussi QModelIndex::flags().
[virtual protected] bool QAbstractItemView::edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)
Commence à éditer l'élément à index, en créant un éditeur si nécessaire, et renvoie true si la vue State est maintenant EditingState; sinon, renvoie false.
L'action à l'origine du processus d'édition est décrite par trigger, et l'événement associé est spécifié par event.
L'édition peut être forcée en spécifiant que trigger doit être QAbstractItemView::AllEditTriggers.
Voir aussi closeEditor().
[virtual protected slot] void QAbstractItemView::editorDestroyed(QObject *editor)
Cette fonction est appelée lorsque le site editor a été détruit.
Voir aussi closeEditor().
[signal] void QAbstractItemView::entered(const QModelIndex &index)
Ce signal est émis lorsque le curseur de la souris entre dans l'élément spécifié par index. Le suivi de la souris doit être activé pour que cette fonctionnalité fonctionne.
Voir aussi viewportEntered(), activated(), clicked(), doubleClicked() et pressed().
[override virtual protected] bool QAbstractItemView::event(QEvent *event)
Réimplémente : QAbstractScrollArea::event(QEvent *event).
[override virtual protected] bool QAbstractItemView::eventFilter(QObject *object, QEvent *event)
Réimplémente : QObject::eventFilter(QObject *watched, QEvent *event).
[protected] void QAbstractItemView::executeDelayedItemsLayout()
Exécute les mises en page programmées sans attendre le début du traitement de l'événement.
Voir également scheduleDelayedItemsLayout().
[override virtual protected] void QAbstractItemView::focusInEvent(QFocusEvent *event)
Réimplémente : QWidget::focusInEvent(QFocusEvent *event).
Cette fonction est appelée avec l'adresse event lorsque le widget obtient le focus. Par défaut, l'événement est ignoré.
Voir également setFocus() et focusOutEvent().
[override virtual protected] bool QAbstractItemView::focusNextPrevChild(bool next)
Réimplémente : QWidget::focusNextPrevChild(bool next).
[override virtual protected] void QAbstractItemView::focusOutEvent(QFocusEvent *event)
Réimplémente : QWidget::focusOutEvent(QFocusEvent *event).
Cette fonction est appelée avec l'adresse event lorsque le widget perd le focus. Par défaut, l'événement est ignoré.
Voir également clearFocus() et focusInEvent().
[pure virtual protected] int QAbstractItemView::horizontalOffset() const
Renvoie le décalage horizontal de la vue.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
Voir également verticalOffset().
[pure virtual] QModelIndex QAbstractItemView::indexAt(const QPoint &point) const
Renvoie l'indice de modèle de l'élément aux coordonnées du point de vue point.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
Voir également visualRect().
QWidget *QAbstractItemView::indexWidget(const QModelIndex &index) const
Renvoie le widget de l'élément à l'adresse index.
Voir aussi setIndexWidget().
[virtual protected, since 6.0] void QAbstractItemView::initViewItemOption(QStyleOptionViewItem *option) const
Initialiser la structure option avec la palette, la police, l'état, les alignements, etc. de la vue.
Note : Les implémentations de cette méthode doivent vérifier l'adresse version de la structure reçue, remplir tous les membres avec lesquels l'implémentation est familière, et définir le membre version à celui supporté par l'implémentation avant de retourner.
Cette fonction a été introduite dans Qt 6.0.
[override virtual protected] void QAbstractItemView::inputMethodEvent(QInputMethodEvent *event)
Réimplémente : QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QAbstractItemView::inputMethodQuery(Qt::InputMethodQuery query) const
Réimplémente : QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
[pure virtual protected] bool QAbstractItemView::isIndexHidden(const QModelIndex &index) const
Renvoie true si l'élément auquel se réfère l'adresse index est caché dans la vue, sinon renvoie false.
Le masquage est une caractéristique propre à la vue. Par exemple, dans TableView, une colonne peut être marquée comme cachée ou une ligne dans TreeView.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
bool QAbstractItemView::isPersistentEditorOpen(const QModelIndex &index) const
Retourne si un éditeur persistant est ouvert pour l'élément à l'index index.
Voir également openPersistentEditor() et closePersistentEditor().
QAbstractItemDelegate *QAbstractItemView::itemDelegate() const
Renvoie le délégué de l'élément utilisé par cette vue et ce modèle. Il s'agit soit d'un délégué défini avec setItemDelegate(), soit du délégué par défaut.
Voir aussi setItemDelegate().
QAbstractItemDelegate *QAbstractItemView::itemDelegateForColumn(int column) const
Renvoie le délégué de l'élément utilisé par cette vue et ce modèle pour l'adresse column donnée. Vous pouvez appeler itemDelegate() pour obtenir un pointeur sur le délégué actuel pour un index donné.
Voir aussi setItemDelegateForColumn(), itemDelegateForRow() et itemDelegate().
[virtual, since 6.0] QAbstractItemDelegate *QAbstractItemView::itemDelegateForIndex(const QModelIndex &index) const
Renvoie le délégué d'élément utilisé par cette vue et ce modèle pour l'adresse index.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi setItemDelegate(), setItemDelegateForRow(), et setItemDelegateForColumn().
QAbstractItemDelegate *QAbstractItemView::itemDelegateForRow(int row) const
Renvoie le délégué de l'élément utilisé par cette vue et ce modèle pour la valeur row, ou nullptr si aucun délégué n'a été attribué. Vous pouvez appeler itemDelegate() pour obtenir un pointeur sur le délégué actuel pour un index donné.
Voir aussi setItemDelegateForRow(), itemDelegateForColumn() et setItemDelegate().
[override virtual protected] void QAbstractItemView::keyPressEvent(QKeyEvent *event)
Réimplémente : QAbstractScrollArea::keyPressEvent(QKeyEvent *e).
Cette fonction est appelée avec l'adresse event lorsqu'un événement touche est envoyé au widget. L'implémentation par défaut gère les mouvements de base du curseur, par exemple Up, Down, Left, Right, Home, PageUp et PageDown ; le signal activated() est émis si l'index actuel est valide et si la touche d'activation est pressée (par exemple Enter ou Return, en fonction de la plateforme). Cette fonction est utilisée lorsque l'édition est initiée par la pression d'une touche, par exemple si l'on appuie sur F2.
Voir également edit(), moveCursor(), keyboardSearch() et tabKeyNavigation.
[virtual] void QAbstractItemView::keyboardSearch(const QString &search)
Se déplace et sélectionne l'élément qui correspond le mieux à la chaîne de caractères search. Si aucun élément n'est trouvé, rien ne se passe.
Dans l'implémentation par défaut, la recherche est réinitialisée si search est vide ou si l'intervalle de temps depuis la dernière recherche a dépassé QApplication::keyboardInputInterval().
QAbstractItemModel *QAbstractItemView::model() const
Renvoie le modèle que cette vue présente.
Voir aussi setModel().
[override virtual protected] void QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)
Réimplémente : QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).
Cette fonction est appelée avec l'adresse event lorsqu'un bouton de la souris est doublement cliqué à l'intérieur du widget. Si le double-clic est sur un élément valide, elle émet le signal doubleClicked() et appelle edit() sur l'élément.
[override virtual protected] void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)
Réimplémente : QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).
Cette fonction est appelée avec l'adresse event lorsqu'un événement de déplacement de la souris est envoyé au widget. Si une sélection est en cours et que de nouveaux éléments sont déplacés, la sélection est étendue ; si un déplacement est en cours, elle est poursuivie.
[override virtual protected] void QAbstractItemView::mousePressEvent(QMouseEvent *event)
Réimplémente : QAbstractScrollArea::mousePressEvent(QMouseEvent *e).
Cette fonction est appelée avec l'adresse event lorsqu'un bouton de la souris est pressé alors que le curseur se trouve à l'intérieur du widget. Si un élément valide est pressé, il devient l'élément courant. Cette fonction émet le signal pressed().
[override virtual protected] void QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)
Réimplémente : QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).
Cette fonction est appelée avec l'adresse event lorsqu'un bouton de la souris est relâché, après un événement de pression de la souris sur le widget. Si un utilisateur appuie sur la souris à l'intérieur de votre widget, puis déplace la souris vers un autre endroit avant de relâcher le bouton de la souris, votre widget reçoit l'événement de relâchement. La fonction émettra le signal clicked() si un élément a été pressé.
[pure virtual protected] QModelIndex QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
Renvoie un objet QModelIndex pointant vers l'objet suivant dans la vue, en fonction de cursorAction et des modificateurs de clavier spécifiés par modifiers.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
void QAbstractItemView::openPersistentEditor(const QModelIndex &index)
Ouvre un éditeur persistant sur l'élément à l'adresse index. Si aucun éditeur n'existe, le délégué en créera un nouveau.
Voir également closePersistentEditor() et isPersistentEditorOpen().
[signal] void QAbstractItemView::pressed(const QModelIndex &index)
Ce signal est émis lorsqu'un bouton de la souris est enfoncé. L'élément sur lequel la souris a été pressée est spécifié par index. Le signal n'est émis que si l'index est valide.
Utilisez la fonction QGuiApplication::mouseButtons() pour obtenir l'état des boutons de la souris.
Voir aussi activated(), clicked(), doubleClicked() et entered().
[virtual slot] void QAbstractItemView::reset()
Réinitialise l'état interne de la vue.
Attention : Cette fonction réinitialise les éditeurs ouverts, la position des barres de défilement, les sélections, etc. Les modifications existantes ne seront pas validées. Si vous souhaitez enregistrer vos modifications lors de la réinitialisation de la vue, vous pouvez réimplémenter cette fonction, valider vos modifications, puis appeler l'implémentation de la superclasse.
[override virtual protected] void QAbstractItemView::resizeEvent(QResizeEvent *event)
Réimplémente : QAbstractScrollArea::resizeEvent(QResizeEvent *event).
Cette fonction est appelée avec l'adresse event lorsqu'un événement de redimensionnement est envoyé au widget.
Voir également QWidget::resizeEvent().
QModelIndex QAbstractItemView::rootIndex() const
Renvoie l'index du modèle de l'élément racine du modèle. L'élément racine est l'élément parent des éléments de niveau supérieur de la vue. La racine peut être invalide.
Voir aussi setRootIndex().
[virtual protected slot] void QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
Ce slot est appelé lorsque des lignes sont sur le point d'être supprimées. Les lignes supprimées sont celles qui se trouvent sous parent, de start à end inclus.
Voir aussi rowsInserted().
[virtual protected slot] void QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end)
Ce slot est appelé lorsque des lignes sont insérées. Les nouvelles lignes sont celles qui se trouvent sous la rubrique parent, de start à end inclus. L'implémentation de la classe de base appelle fetchMore() sur le modèle pour vérifier s'il y a plus de données.
Voir aussi rowsAboutToBeRemoved().
[protected] void QAbstractItemView::scheduleDelayedItemsLayout()
Planifie une mise en page des éléments de la vue à exécuter lorsque le traitement de l'événement commence.
Même si scheduleDelayedItemsLayout() est appelé plusieurs fois avant que les événements ne soient traités, la vue n'effectuera la mise en page qu'une seule fois.
Voir également executeDelayedItemsLayout().
[protected] void QAbstractItemView::scrollDirtyRegion(int dx, int dy)
Prépare la vue à un défilement de (dx,dy) pixels en déplaçant les régions sales dans la direction opposée. Vous ne devez appeler cette fonction que si vous implémentez une fenêtre de défilement dans votre sous-classe de vue.
Si vous implémentez scrollContentsBy() dans une sous-classe de QAbstractItemView, appelez cette fonction avant d'appeler QWidget::scroll() sur la fenêtre de visualisation. Sinon, appelez simplement update().
Voir aussi scrollContentsBy(), dirtyRegionOffset() et setDirtyRegion().
[pure virtual] void QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)
Fait défiler la vue si nécessaire pour s'assurer que l'élément situé à index est visible. La vue essaiera de positionner l'élément en fonction de l'adresse hint.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
[slot] void QAbstractItemView::scrollToBottom()
Fait défiler la vue jusqu'en bas.
Voir aussi scrollTo() et scrollToTop().
[slot] void QAbstractItemView::scrollToTop()
Fait défiler la vue jusqu'en haut.
Voir aussi scrollTo() et scrollToBottom().
[virtual slot] void QAbstractItemView::selectAll()
Sélectionne tous les éléments de la vue. Cette fonction utilise le comportement de sélection défini pour la vue lors de la sélection.
Voir également setSelection(), selectedIndexes() et clearSelection().
[virtual protected] QModelIndexList QAbstractItemView::selectedIndexes() const
Cette fonction de commodité renvoie une liste de tous les index d'éléments sélectionnés et non cachés de la vue. La liste ne contient pas de doublons et n'est pas triée.
Voir également QItemSelectionModel::selectedIndexes().
[virtual protected slot] void QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Ce slot est appelé lorsque la sélection est modifiée. La sélection précédente (qui peut être vide) est spécifiée par deselected, et la nouvelle sélection par selected.
Voir aussi setSelection().
[virtual protected] QItemSelectionModel::SelectionFlags QAbstractItemView::selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const
Renvoie les SelectionFlags à utiliser lors de la mise à jour d'un modèle de sélection pour l'objet spécifié index. Le résultat dépend de l'état actuel selectionMode() et de l'événement de saisie de l'utilisateur event, qui peut être nullptr.
Réimplémentez cette fonction pour définir votre propre comportement de sélection.
Voir également setSelection().
QItemSelectionModel *QAbstractItemView::selectionModel() const
Renvoie le modèle de sélection actuel.
Voir aussi setSelectionModel() et selectedIndexes().
[slot] void QAbstractItemView::setCurrentIndex(const QModelIndex &index)
Définit l'élément en cours comme étant l'élément à index.
Si le mode de sélection actuel n'est pas NoSelection, l'élément est également sélectionné. Notez que cette fonction met également à jour la position de départ pour toute nouvelle sélection effectuée par l'utilisateur.
Pour faire d'un élément l'élément courant sans le sélectionner, appelez
selectionModel()->setCurrentIndex(index, QItemSelectionModel::NoUpdate);
Voir également currentIndex(), currentChanged() et selectionMode.
[protected] void QAbstractItemView::setDirtyRegion(const QRegion ®ion)
Marque le site region donné comme sale et planifie sa mise à jour. Vous ne devez appeler cette fonction que si vous implémentez votre propre sous-classe de vue.
Voir aussi scrollDirtyRegion() et dirtyRegionOffset().
void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget)
Définit l'élément widget sur l'élément index, en transmettant la propriété du widget à la fenêtre de visualisation.
Si index n'est pas valide (par exemple, si vous transmettez l'index de la racine), cette fonction ne fera rien.
La propriété autoFillBackground de widget doit avoir la valeur true, sinon l'arrière-plan du widget sera transparent, montrant à la fois les données du modèle et l'élément à l'adresse index.
Remarque : la vue est propriétaire de la propriété widget. Cela signifie que si le widget d'index A est remplacé par le widget d'index B, le widget d'index A sera supprimé. Par exemple, dans l'extrait de code ci-dessous, l'objet QLineEdit sera supprimé.
Cette fonction ne doit être utilisée que pour afficher un contenu statique dans la zone visible correspondant à un élément de données. Si vous souhaitez afficher un contenu dynamique personnalisé ou mettre en œuvre un widget d'édition personnalisé, sous-classez plutôt QStyledItemDelegate.
Voir aussi indexWidget() et Delegate Classes.
void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)
Définit le délégué de l'élément pour cette vue et son modèle à delegate. Ceci est utile si vous voulez un contrôle complet sur l'édition et l'affichage des éléments.
Tout délégué existant sera supprimé, mais pas effacé. QAbstractItemView n'est pas propriétaire de delegate.
Attention : Vous ne devez pas partager la même instance d'un délégué entre les vues. En effet, chaque vue connectée à un délégué donné peut recevoir le signal closeEditor() et tenter d'accéder, de modifier ou de fermer un éditeur qui a déjà été fermé.
Voir également itemDelegate().
void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)
Définit l'élément delegate utilisé par cette vue et ce modèle pour l'élément column. Tous les éléments sur column seront dessinés et gérés par delegate au lieu d'utiliser le délégué par défaut (c'est-à-dire itemDelegate()).
Tout délégué de colonne existant pour column sera supprimé, mais pas effacé. QAbstractItemView n'est pas propriétaire de delegate.
Remarque : si un délégué a été attribué à la fois à une ligne et à une colonne, le délégué de la ligne sera prioritaire et gérera l'index de la cellule intersectée.
Attention : Vous ne devez pas partager la même instance d'un délégué entre les vues. En effet, chaque vue connectée à un délégué donné peut recevoir le signal closeEditor() et tenter d'accéder, de modifier ou de fermer un éditeur qui a déjà été fermé.
Voir également itemDelegateForColumn(), setItemDelegateForRow() et itemDelegate().
void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)
Définit l'élément delegate utilisé par cette vue et ce modèle pour l'élément row. Tous les éléments sur row seront dessinés et gérés par delegate au lieu d'utiliser le délégué par défaut (c'est-à-dire itemDelegate()).
Tout délégué de ligne existant pour row sera supprimé, mais pas effacé. QAbstractItemView n'est pas propriétaire de delegate.
Remarque : si un délégué a été attribué à la fois à une ligne et à une colonne, le délégué de la ligne (c'est-à-dire ce délégué) sera prioritaire et gérera l'index de la cellule intersectée.
Attention : Vous ne devez pas partager la même instance d'un délégué entre les vues. En effet, chaque vue connectée à un délégué donné peut recevoir le signal closeEditor() et tenter d'accéder, de modifier ou de fermer un éditeur qui a déjà été fermé.
Voir également itemDelegateForRow(), setItemDelegateForColumn() et itemDelegate().
[virtual] void QAbstractItemView::setModel(QAbstractItemModel *model)
Définit le site model pour la vue à présenter.
Cette fonction crée et définit un nouveau modèle de sélection, remplaçant tout modèle précédemment défini avec setSelectionModel(). Cependant, l'ancien modèle de sélection ne sera pas supprimé car il peut être partagé par plusieurs vues. Nous vous recommandons de supprimer l'ancien modèle de sélection s'il n'est plus nécessaire. Pour ce faire, utilisez le code suivant :
QItemSelectionModel *m = view->selectionModel(); view->setModel(new model); delete m;
Si l'ancien modèle et l'ancien modèle de sélection n'ont pas de parents, ou si leurs parents sont des objets à longue durée de vie, il peut être préférable d'appeler leurs fonctions deleteLater() pour les supprimer explicitement.
La vue ne devient propriétaire du modèle que si elle est l'objet parent du modèle, car le modèle peut être partagé entre plusieurs vues différentes.
Voir également model(), selectionModel() et setSelectionModel().
[virtual slot] void QAbstractItemView::setRootIndex(const QModelIndex &index)
Définit l'élément racine comme étant l'élément situé à l'adresse index.
Voir aussi rootIndex().
[pure virtual protected] void QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
Applique la sélection flags aux éléments situés dans le rectangle ou touchés par celui-ci, rect.
Lors de l'implémentation de votre propre vue d'élément, setSelection doit appeler selectionModel()->select(selection, flags) où selection est soit un QModelIndex vide, soit un QItemSelection qui contient tous les éléments contenus dans rect.
Voir également selectionCommand() et selectedIndexes().
[virtual] void QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)
Définit le modèle de sélection actuel à l'adresse selectionModel.
Notez que si vous appelez setModel() après cette fonction, le modèle selectionModel sera remplacé par un modèle créé par la vue.
Remarque : il appartient à l'application de supprimer l'ancien modèle de sélection s'il n'est plus nécessaire, c'est-à-dire s'il n'est pas utilisé par d'autres vues. Cela se produit automatiquement lorsque l'objet parent est supprimé. Toutefois, s'il n'a pas de parent, ou si le parent est un objet à longue durée de vie, il peut être préférable d'appeler sa fonction deleteLater() pour le supprimer explicitement.
Voir aussi selectionModel(), setModel() et clearSelection().
[protected] void QAbstractItemView::setState(QAbstractItemView::State state)
Définit l'état de la vue de l'élément à l'adresse state.
Voir aussi state().
[virtual] int QAbstractItemView::sizeHintForColumn(int column) const
Renvoie l'indice de taille de la largeur pour le modèle spécifié column ou -1 s'il n'y a pas de modèle.
Cette fonction est utilisée dans les vues avec un en-tête horizontal pour trouver l'indice de taille d'une section d'en-tête en fonction du contenu de l'adresse column.
Voir également sizeHintForRow().
QSize QAbstractItemView::sizeHintForIndex(const QModelIndex &index) const
Renvoie l'indice de taille pour l'élément avec l'adresse index spécifiée ou une taille non valide pour les index non valides.
Voir aussi sizeHintForRow() et sizeHintForColumn().
[virtual] int QAbstractItemView::sizeHintForRow(int row) const
Renvoie l'indice de taille de la hauteur pour le site row spécifié ou -1 s'il n'y a pas de modèle.
La hauteur renvoyée est calculée à l'aide des indices de taille des éléments de row, c'est-à-dire que la valeur renvoyée est la hauteur maximale parmi les éléments. Notez que pour contrôler la hauteur d'une ligne, vous devez réimplémenter la fonction QAbstractItemDelegate::sizeHint().
Cette fonction est utilisée dans les vues avec un en-tête vertical pour trouver l'indice de taille d'une section d'en-tête en fonction du contenu de l'élément row.
Voir également sizeHintForColumn().
[virtual protected] void QAbstractItemView::startDrag(Qt::DropActions supportedActions)
Démarre un drag en appelant drag->exec() à l'aide de l'adresse supportedActions.
[protected] QAbstractItemView::State QAbstractItemView::state() const
Renvoie l'état de la vue de l'élément.
Voir aussi setState().
[override virtual protected] void QAbstractItemView::timerEvent(QTimerEvent *event)
Réimplémente : QObject::timerEvent(QTimerEvent *event).
Cette fonction est appelée avec l'adresse event lorsqu'un événement de temporisation est envoyé au widget.
Voir également QObject::timerEvent().
[slot] void QAbstractItemView::update(const QModelIndex &index)
Met à jour la zone occupée par le site index.
[virtual protected slot] void QAbstractItemView::updateGeometries()
Met à jour la géométrie des widgets enfants de la vue.
[pure virtual protected] int QAbstractItemView::verticalOffset() const
Renvoie le décalage vertical de la vue.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
Voir également horizontalOffset().
[signal] void QAbstractItemView::viewportEntered()
Ce signal est émis lorsque le curseur de la souris entre dans la fenêtre de visualisation. Le suivi de la souris doit être activé pour que cette fonctionnalité fonctionne.
Voir également entered().
[override virtual protected] bool QAbstractItemView::viewportEvent(QEvent *event)
Réimplémente : QAbstractScrollArea::viewportEvent(QEvent *event).
Cette fonction est utilisée pour gérer les infobulles et le mode What's This ? si le site event est un site QEvent::ToolTip ou QEvent::WhatsThis. Elle transmet tous les autres événements au gestionnaire viewportEvent() de sa classe de base.
Retourne true si event a été reconnu et traité ; sinon, retourne false.
[override virtual protected] QSize QAbstractItemView::viewportSizeHint() const
Réimplémente : QAbstractScrollArea::viewportSizeHint() const.
[pure virtual] QRect QAbstractItemView::visualRect(const QModelIndex &index) const
Renvoie le rectangle de la fenêtre de visualisation occupé par l'élément à l'adresse index.
Si votre élément est affiché dans plusieurs zones, visualRect doit renvoyer la zone principale qui contient l'index et non la zone complète que l'index pourrait englober, toucher ou dessiner.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
Voir également indexAt() et visualRegionForSelection().
[pure virtual protected] QRegion QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const
Renvoie la région de la fenêtre de visualisation des éléments de la page selection.
Dans la classe de base, il s'agit d'une fonction virtuelle pure.
Voir aussi visualRect() et selectedIndexes().
© 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.