Sur cette page

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

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 &currentText)
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

virtual void dropEvent(QDropEvent *event) override
virtual bool event(QEvent *e) override

Description détaillée

Liste des icônes météo

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 &currentText)

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.