QItemSelection Class
La classe QItemSelection gère les informations relatives aux éléments sélectionnés dans un modèle. En savoir plus...
| En-tête : | #include <QItemSelection> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
| Hérite de : | QList |
Fonctions publiques
| QItemSelection() | |
| QItemSelection(const QModelIndex &topLeft, const QModelIndex &bottomRight) | |
| bool | contains(const QModelIndex &index) const |
| QModelIndexList | indexes() const |
| void | merge(const QItemSelection &other, QItemSelectionModel::SelectionFlags command) |
| void | select(const QModelIndex &topLeft, const QModelIndex &bottomRight) |
Membres publics statiques
| void | split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result) |
Description détaillée
Un QItemSelection décrit les éléments d'un modèle qui ont été sélectionnés par l'utilisateur. Un QItemSelection est essentiellement une liste de plages de sélection, voir QItemSelectionRange. Il fournit des fonctions permettant de créer et de manipuler des sélections, ainsi que de sélectionner une plage d'éléments dans un modèle.
La classe QItemSelection fait partie des classes Modèle/Vue et s'inscrit dans le cadre du modèle/vue de Qt.
Une sélection d’éléments peut être construite et initialisée pour contenir une plage d’éléments provenant d’un modèle existant. L’exemple suivant construit une sélection contenant une plage d’éléments issus du modèle donné model, commençant à l’adresse topLeft et se terminant à l’adresse bottomRight.
QItemSelection *selection = new QItemSelection(topLeft, bottomRight);Une sélection d’éléments vide peut être créée, puis remplie ultérieurement selon les besoins. Ainsi, si le modèle n’est pas disponible au moment de la création de la sélection d’éléments, nous pouvons réécrire le code ci-dessus de la manière suivante :
QItemSelection *selection = new QItemSelection();
//...
selection->select(topLeft, bottomRight);QItemSelection économise de la mémoire et évite tout travail superflu en utilisant des plages de sélection plutôt qu’en enregistrant l’index du modèle pour chaque élément de la sélection. En général, une instance de cette classe contient une liste de plages de sélection qui ne se chevauchent pas.
Utilisez ` merge()` pour fusionner une sélection d’éléments avec une autre sans créer de plages qui se chevauchent. Utilisez ` split()` pour diviser une plage de sélection en plages plus petites en fonction d’une autre plage de sélection.
Voir également Programmation modèle/vue et QItemSelectionModel.
Documentation sur les fonctions membres
[implicit] QItemSelection::QItemSelection()
Crée une sélection vide.
QItemSelection::QItemSelection(const QModelIndex &topLeft, const QModelIndex &bottomRight)
Crée une sélection d'éléments s'étendant de l'élément du modèle situé en haut à gauche, spécifié par l'index topLeft, à l'élément situé en bas à droite, spécifié par bottomRight.
bool QItemSelection::contains(const QModelIndex &index) const
Renvoie « true » si la sélection contient l'index spécifié ; sinon, renvoie « false ».
QModelIndexList QItemSelection::indexes() const
Renvoie une liste des index de modèles correspondant aux éléments sélectionnés.
void QItemSelection::merge(const QItemSelection &other, QItemSelectionModel::SelectionFlags command)
Fusionne la sélection de other avec celle de QItemSelection à l'aide de l'command spécifiée. Cette méthode garantit qu'aucune plage ne se chevauche.
Notez que seules les méthodes QItemSelectionModel::Select, QItemSelectionModel::Deselect et QItemSelectionModel::Toggle sont prises en charge.
Voir également split().
void QItemSelection::select(const QModelIndex &topLeft, const QModelIndex &bottomRight)
Ajoute à la liste les éléments situés dans la plage allant de l'élément du modèle en haut à gauche, spécifié par l'index topLeft, à l'élément en bas à droite, spécifié par bottomRight.
Remarque : topLeft et bottomRight doivent avoir le même parent.
[static] void QItemSelection::split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result)
Divise la sélection range à l'aide de la plage de sélection other. Supprime tous les éléments de other de range et place le résultat dans result. Cela peut être comparé à la sémantique de l'opération de soustraction d'un ensemble.
Voir également merge().
© 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.