QListWidget Class
La classe QListWidget fournit un widget de liste basé sur des éléments. En savoir plus...
| En-tête : | #include <QListWidget> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite de : | QListView |
Propriétés
- count : int
- currentRow : int
- sortingEnabled : bool
(since 6.10)supportedDragActions : Qt::DropActions
Fonctions publiques
| QListWidget(QWidget *parent = nullptr) | |
| virtual | ~QListWidget() |
| void | addItem(QListWidgetItem *item) |
| void | addItem(const QString &label) |
| void | addItems(const QStringList &labels) |
| void | closePersistentEditor(QListWidgetItem *item) |
| int | count() const |
| QListWidgetItem * | currentItem() const |
| int | currentRow() const |
| void | editItem(QListWidgetItem *item) |
| QList<QListWidgetItem *> | findItems(const QString &text, Qt::MatchFlags flags) const |
| QModelIndex | indexFromItem(const QListWidgetItem *item) const |
| void | insertItem(int row, QListWidgetItem *item) |
| void | insertItem(int row, const QString &label) |
| void | insertItems(int row, const QStringList &labels) |
| bool | isPersistentEditorOpen(QListWidgetItem *item) const |
| bool | isSortingEnabled() const |
| QListWidgetItem * | item(int row) const |
| QListWidgetItem * | itemAt(const QPoint &p) const |
| QListWidgetItem * | itemAt(int x, int y) const |
| QListWidgetItem * | itemFromIndex(const QModelIndex &index) const |
| QWidget * | itemWidget(QListWidgetItem *item) const |
| QList<QListWidgetItem *> | items(const QMimeData *data) const |
| void | openPersistentEditor(QListWidgetItem *item) |
| void | removeItemWidget(QListWidgetItem *item) |
| int | row(const QListWidgetItem *item) const |
| QList<QListWidgetItem *> | selectedItems() const |
| void | setCurrentItem(QListWidgetItem *item) |
| void | setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command) |
| void | setCurrentRow(int row) |
| void | setCurrentRow(int row, QItemSelectionModel::SelectionFlags command) |
| void | setItemWidget(QListWidgetItem *item, QWidget *widget) |
| void | setSortingEnabled(bool enable) |
| void | setSupportedDragActions(Qt::DropActions actions) |
| void | sortItems(Qt::SortOrder order = Qt::AscendingOrder) |
| Qt::DropActions | supportedDragActions() const |
| QListWidgetItem * | takeItem(int row) |
| QRect | visualItemRect(const QListWidgetItem *item) const |
Fonctions publiques réimplémentées
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) override |
Slots publics
| void | clear() |
| void | scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible) |
Signaux
| void | currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) |
| void | currentRowChanged(int currentRow) |
| void | currentTextChanged(const QString ¤tText) |
| void | itemActivated(QListWidgetItem *item) |
| void | itemChanged(QListWidgetItem *item) |
| void | itemClicked(QListWidgetItem *item) |
| void | itemDoubleClicked(QListWidgetItem *item) |
| void | itemEntered(QListWidgetItem *item) |
| void | itemPressed(QListWidgetItem *item) |
| void | itemSelectionChanged() |
Fonctions protégées
| virtual bool | dropMimeData(int index, const QMimeData *data, Qt::DropAction action) |
| virtual QMimeData * | mimeData(const QList<QListWidgetItem *> &items) const |
| virtual QStringList | mimeTypes() const |
| virtual Qt::DropActions | supportedDropActions() const |
Fonctions protégées réimplémentées
Description détaillée

QListWidget est une classe de commodité qui fournit une vue de liste similaire à celle fournie par QListView, mais avec une interface classique basée sur les éléments pour ajouter et supprimer des éléments. QListWidget utilise un modèle interne pour gérer chaque QListWidgetItem de la liste.
Pour un widget de vue de liste plus flexible, utilisez la classe QListView avec un modèle standard.
Les widgets de liste sont créés de la même manière que les autres widgets :
QListWidget *listWidget = new QListWidget(this);La méthode ` selectionMode()` d’un widget de liste détermine le nombre d’éléments de la liste pouvant être sélectionnés simultanément, ainsi que la possibilité de créer des sélections complexes d’éléments. Ce paramètre peut être défini à l’aide de la fonction ` setSelectionMode()`.
Il existe deux façons d’ajouter des éléments à la liste : ils peuvent être créés avec le widget de liste comme widget parent, ou bien sans widget parent et ajoutés à la liste ultérieurement. Si un widget de liste existe déjà au moment de la création des éléments, la première méthode est plus simple à utiliser :
new QListWidgetItem(tr("Oak"), listWidget);
new QListWidgetItem(tr("Fir"), listWidget);
new QListWidgetItem(tr("Pine"), listWidget);Si vous devez insérer un nouvel élément dans la liste à une position particulière, celui-ci doit être créé sans widget parent. La fonction ` insertItem()` doit alors être utilisée pour le placer dans la liste. Le widget de liste prendra alors possession de l’élément.
QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText(itemText);
listWidget->insertItem(row, newItem);Pour plusieurs éléments, on peut utiliser insertItems() à la place. Le nombre d’éléments dans la liste s’obtient avec la fonction count(). Pour supprimer des éléments de la liste, utilisez takeItem().
L’élément actif de la liste peut être récupéré avec ` currentItem()` et modifié avec ` setCurrentItem()`. L’utilisateur peut également changer l’élément actif en naviguant à l’aide du clavier ou en cliquant sur un autre élément. Lorsque l’élément actif change, le signal ` currentItemChanged()` est émis avec le nouvel élément actif et l’élément qui était précédemment actif.
Voir également QListWidgetItem, QListView, QTreeView, Programmation modèle/vue et Exemple de boîte de dialogue à onglets.
Documentation sur les propriétés
[read-only] count : int
Cette propriété contient le nombre d'éléments de la liste, y compris les éléments masqués.
Fonctions d'accès :
| int | count() const |
currentRow : int
Cette propriété contient le numéro de ligne de l'élément actuel.
Selon le mode de sélection actuel, la ligne peut également être sélectionnée.
Fonctions d'accès :
| int | currentRow() const |
| void | setCurrentRow(int row) |
| void | setCurrentRow(int row, QItemSelectionModel::SelectionFlags command) |
Signal de notification :
| void | currentRowChanged(int currentRow) |
sortingEnabled : bool
Cette propriété indique si le tri est activé
Si cette propriété est définie sur « true », le tri est activé pour la liste ; si la propriété est définie sur «false», le tri n'est pas activé.
La valeur par défaut est « false ».
Fonctions d'accès :
| bool | isSortingEnabled() const |
| void | setSortingEnabled(bool enable) |
[since 6.10] supportedDragActions : Qt::DropActions
Cette propriété contient les actions de glisser-déposer prises en charge par cette vue
Cette énumération a été introduite dans Qt 6.10.
Fonctions d'accès :
| Qt::DropActions | supportedDragActions() const |
| void | setSupportedDragActions(Qt::DropActions actions) |
Voir également Qt::DropActions et supportedDropActions().
Documentation des fonctions membres
[explicit] QListWidget::QListWidget(QWidget *parent = nullptr)
Crée un QListWidget vide avec l'parent on fournie.
[virtual noexcept] QListWidget::~QListWidget()
Supprime le widget de liste et tous ses éléments.
void QListWidget::addItem(QListWidgetItem *item)
Insère l'item à la fin du widget de liste.
Avertissement : un « QListWidgetItem » ne peut être ajouté qu'une seule fois à un « QListWidget ». L'ajout répété du même « QListWidgetItem » à un « QListWidget » entraînera un comportement indéfini.
Voir aussi insertItem().
void QListWidget::addItem(const QString &label)
Insère un élément contenant le texte « label » à la fin du widget de liste.
void QListWidget::addItems(const QStringList &labels)
Ajoute des éléments contenant le texte « labels » à la fin du widget de liste.
Voir aussi insertItems().
[slot] void QListWidget::clear()
Supprime tous les éléments et toutes les sélections de la vue.
Avertissement : tous les éléments seront définitivement supprimés.
void QListWidget::closePersistentEditor(QListWidgetItem *item)
Ferme l'éditeur persistant associé à l'item.
Voir également openPersistentEditor() et isPersistentEditorOpen().
QListWidgetItem *QListWidget::currentItem() const
Renvoie l'élément actuel.
Voir aussi setCurrentItem().
[signal] void QListWidget::currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
Ce signal est émis chaque fois que l'élément actif change.
previous est l'élément qui avait précédemment le focus ; current est le nouvel élément actif.
[signal] void QListWidget::currentRowChanged(int currentRow)
Ce signal est émis chaque fois que l'élément actif change.
currentRow est l'index de l'élément actuel. S'il n'y a pas d'élément actuel, l'currentRow est -1.
Remarque : signalde notification pour la propriété currentRow.
[signal] void QListWidget::currentTextChanged(const QString ¤tText)
Ce signal est émis chaque fois que l'élément actif change.
currentText représente les données textuelles de l'élément actuel. S'il n'y a pas d'élément actuel, l'currentText ation n'est pas valide.
[override virtual protected] void QListWidget::dropEvent(QDropEvent *event)
Réimplémente : QListView::dropEvent(QDropEvent *event).
[virtual protected] bool QListWidget::dropMimeData(int index, const QMimeData *data, Qt::DropAction action)
Gère les objets ` data ` fournis par une opération externe de glisser-déposer qui s'est terminée avec l'action donné dans l'index donné. Renvoie ` true ` si ` data ` et ` action ` peuvent être gérés par le modèle ; sinon, renvoie ` false`.
Voir également supportedDropActions() et supportedDragActions.
void QListWidget::editItem(QListWidgetItem *item)
Lance l'édition de l'item, si celle-ci est modifiable.
[override virtual protected] bool QListWidget::event(QEvent *e)
Réimplémente : QListView::event(QEvent *e).
QList<QListWidgetItem *> QListWidget::findItems(const QString &text, Qt::MatchFlags flags) const
Recherche les éléments dont le texte contient la chaîne « text » à l'aide de l'flags.
QModelIndex QListWidget::indexFromItem(const QListWidgetItem *item) const
Renvoie l'QModelIndex associé à l'item donné.
Remarque : dans les versions de Qt antérieures à la version 5.10, cette fonction prenait un item qui n'était pas de typeconst.
void QListWidget::insertItem(int row, QListWidgetItem *item)
Insère l'item à la position de la liste indiquée par row.
Voir également addItem().
void QListWidget::insertItem(int row, const QString &label)
Insère un élément contenant le texte « label » dans le widget de liste, à la position indiquée par « row ».
Voir aussi addItem().
void QListWidget::insertItems(int row, const QStringList &labels)
Ajoute les éléments de la liste labels à la liste, en commençant par l'row.
Voir également insertItem() et addItem().
bool QListWidget::isPersistentEditorOpen(QListWidgetItem *item) const
Indique si un éditeur persistant est ouvert pour l'élément item.
Voir également openPersistentEditor() et closePersistentEditor().
QListWidgetItem *QListWidget::item(int row) const
Renvoie l'élément occupant l'row donné dans la liste s'il a été défini ; sinon, renvoie nullptr.
Voir aussi row().
[signal] void QListWidget::itemActivated(QListWidgetItem *item)
Ce signal est émis lorsque l'« item » est activé. L'« item » est activé lorsque l'utilisateur clique ou double-clique dessus, selon la configuration du système. Il est également activé lorsque l'utilisateur appuie sur la touche d'activation (sous Windows et X11, il s'agit de la touche « Return » ; sous Mac OS X, il s'agit de « Command+O »).
QListWidgetItem *QListWidget::itemAt(const QPoint &p) const
Renvoie un pointeur vers l'élément situé aux coordonnées p. Ces coordonnées sont relatives à la fonction viewport() du widget de liste.
QListWidgetItem *QListWidget::itemAt(int x, int y) const
Renvoie un pointeur vers l'élément situé aux coordonnées (x, y). Les coordonnées sont relatives à la fonction viewport() du widget de liste.
Il s'agit d'une fonction surchargée.
[signal] void QListWidget::itemChanged(QListWidgetItem *item)
Ce signal est émis dès que les données de item ont changé.
[signal] void QListWidget::itemClicked(QListWidgetItem *item)
Ce signal est émis avec l'item spécifiée lorsqu'un bouton de la souris est cliqué sur un élément du widget.
Voir également itemPressed() et itemDoubleClicked().
[signal] void QListWidget::itemDoubleClicked(QListWidgetItem *item)
Ce signal est émis avec l'item spécifiée lorsqu'on double-clique avec la souris sur un élément du widget.
Voir également ` itemClicked()` et ` itemPressed()`.
[signal] void QListWidget::itemEntered(QListWidgetItem *item)
Ce signal est émis lorsque le curseur de la souris entre dans un élément. L'item correspond à l'élément dans lequel le curseur est entré. Ce signal n'est émis que lorsque le suivi de la souris est activé, ou lorsqu'un bouton de la souris est enfoncé pendant que le curseur entre dans un élément.
Voir également QWidget::setMouseTracking().
QListWidgetItem *QListWidget::itemFromIndex(const QModelIndex &index) const
Renvoie un pointeur vers l'QListWidgetItem associé à l'index donné.
[signal] void QListWidget::itemPressed(QListWidgetItem *item)
Ce signal est émis avec l'item spécifiée lorsqu'un bouton de la souris est enfoncé sur un élément du widget.
Voir également ` itemClicked()` et ` itemDoubleClicked()`.
[signal] void QListWidget::itemSelectionChanged()
Ce signal est émis chaque fois que la sélection change.
Voir également selectedItems(), QListWidgetItem::isSelected() et currentItemChanged().
QWidget *QListWidget::itemWidget(QListWidgetItem *item) const
Renvoie le widget affiché dans l'item spécifiée.
Voir également setItemWidget() et removeItemWidget().
QList<QListWidgetItem *> QListWidget::items(const QMimeData *data) const
Renvoie une liste de pointeurs vers les éléments contenus dans l'objet ` data `. Si l'objet n'a pas été créé par une fonction ` QListWidget ` au sein du même processus, la liste est vide.
[virtual protected] QMimeData *QListWidget::mimeData(const QList<QListWidgetItem *> &items) const
Renvoie un objet contenant une description sérialisée de l’ items spécifié. Le format utilisé pour décrire les éléments est obtenu à partir de la fonction mimeTypes().
Si la liste des éléments est vide, c'est nullptr qui est renvoyé à la place d'une liste vide sérialisée.
[virtual protected] QStringList QListWidget::mimeTypes() const
Renvoie une liste des types MIME pouvant être utilisés pour décrire une liste d'éléments du widget « listwidget ».
Voir également mimeData().
void QListWidget::openPersistentEditor(QListWidgetItem *item)
Ouvre un éditeur pour le fichier item. L'éditeur reste ouvert après la modification.
Voir également closePersistentEditor() et isPersistentEditorOpen().
void QListWidget::removeItemWidget(QListWidgetItem *item)
Supprime le widget défini sur l'item spécifiée.
Pour supprimer définitivement un élément (une ligne) de la liste, supprimez-le ou utilisez la fonction takeItem().
Voir également itemWidget() et setItemWidget().
int QListWidget::row(const QListWidgetItem *item) const
Renvoie la ligne contenant l'item on fournie.
Voir aussi item().
[slot] void QListWidget::scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
Fait défiler la vue si nécessaire pour s'assurer que l'item est visible.
hint Spécifie l'emplacement où l'item doit se trouver après l'opération.
QList<QListWidgetItem *> QListWidget::selectedItems() const
Renvoie une liste de tous les éléments sélectionnés dans le widget de liste.
void QListWidget::setCurrentItem(QListWidgetItem *item)
Définit l'élément actuel sur « item ».
À moins que le mode de sélection ne soit « NoSelection », l'élément est également sélectionné.
Voir aussi currentItem().
void QListWidget::setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command)
Définir l'élément actuel sur « item », en utilisant l'command fournie.
void QListWidget::setCurrentRow(int row, QItemSelectionModel::SelectionFlags command)
Définit la ligne actuelle sur la valeur « row » indiquée, en utilisant la valeur « command » fournie,
Remarque : fonctionde définition de la propriété ` currentRow`.
Voir également currentRow().
void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget)
Définit l'widget à afficher à l'item indiquée.
Cette fonction ne doit être utilisée que pour afficher du contenu statique à la place d’un élément de widget de liste. Si vous souhaitez afficher du contenu dynamique personnalisé ou implémenter un widget d’édition personnalisé, utilisez plutôt ` QListView ` et sous-classez ` QStyledItemDelegate `.
Remarque : la liste prend possession de l'widget.
Voir également itemWidget(), removeItemWidget() et Classes de délégués.
[override virtual] void QListWidget::setSelectionModel(QItemSelectionModel *selectionModel)
Réimplémente : QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel).
void QListWidget::sortItems(Qt::SortOrder order = Qt::AscendingOrder)
Trie tous les éléments du widget de liste selon l'order e spécifiée.
[virtual protected] Qt::DropActions QListWidget::supportedDropActions() const
Renvoie les actions de glisser-déposer prises en charge par cette vue.
Voir également Qt::DropActions, supportedDragActions et dropMimeData().
QListWidgetItem *QListWidget::takeItem(int row)
Supprime et renvoie l'élément de l'row e spécifiée dans le widget de liste ; sinon, renvoie « nullptr ».
Les éléments supprimés d'un widget de liste ne seront pas gérés par Qt et devront être supprimés manuellement.
Voir également insertItem() et addItem().
QRect QListWidget::visualItemRect(const QListWidgetItem *item) const
Renvoie le rectangle occupé par l'élément dans la fenêtre d'affichage à l'adresse item.
© 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.