QListWidget Class
Die Klasse „QListWidget“ stellt ein elementbasiertes Listen-Widget bereit. Mehr...
| Kopfzeile: | #include <QListWidget> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Erbt von: | QListView |
Eigenschaften
- count : int
- currentRow : int
- sortingEnabled : bool
(since 6.10)supportedDragActions : Qt::DropActions
Öffentliche Funktionen
| 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 |
Neu implementierte öffentliche Funktionen
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) override |
Öffentliche Slots
| void | clear() |
| void | scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible) |
Signale
| 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() |
Geschützte Funktionen
| 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 |
Neu implementierte geschützte Funktionen
Ausführliche Beschreibung

QListWidget ist eine Komfortklasse, die eine Listenansicht bereitstellt, die der von QListView ähnelt, jedoch über eine klassische, elementbasierte Schnittstelle zum Hinzufügen und Entfernen von Elementen verfügt. QListWidget verwendet ein internes Modell, um jedes QListWidgetItem in der Liste zu verwalten.
Für ein flexibleres Listenansichts-Widget verwenden Sie die Klasse ` QListView ` mit einem Standardmodell.
Listen-Widgets werden auf dieselbe Weise wie andere Widgets erstellt:
QListWidget *listWidget = new QListWidget(this);Die Methode ` selectionMode()` eines Listen-Widgets legt fest, wie viele Elemente der Liste gleichzeitig ausgewählt werden können und ob komplexe Elementauswahlen erstellt werden können. Dies kann mit der Funktion ` setSelectionMode()` festgelegt werden.
Es gibt zwei Möglichkeiten, Elemente zur Liste hinzuzufügen: Sie können mit dem Listen-Widget als übergeordnetem Widget erstellt werden oder ohne übergeordnetes Widget erstellt und später zur Liste hinzugefügt werden. Wenn zum Zeitpunkt der Erstellung der Elemente bereits ein Listen-Widget vorhanden ist, ist die erste Methode einfacher:
new QListWidgetItem(tr("Oak"), listWidget);
new QListWidgetItem(tr("Fir"), listWidget);
new QListWidgetItem(tr("Pine"), listWidget);Wenn Sie ein neues Element an einer bestimmten Position in die Liste einfügen müssen, sollte es ohne übergeordnetes Widget erstellt werden. Die Funktion ` insertItem()` sollte dann verwendet werden, um es in der Liste zu platzieren. Das Listen-Widget übernimmt die Verwaltung des Elements.
QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText(itemText);
listWidget->insertItem(row, newItem);Bei mehreren Elementen kann stattdessen ` insertItems()` verwendet werden. Die Anzahl der Elemente in der Liste wird mit der Funktion ` count()` ermittelt. Um Elemente aus der Liste zu entfernen, verwenden Sie ` takeItem()`.
Das aktuelle Element in der Liste kann mit ` currentItem()` ermittelt und mit ` setCurrentItem()` geändert werden. Der Benutzer kann das aktuelle Element auch ändern, indem er mit der Tastatur navigiert oder auf ein anderes Element klickt. Wenn sich das aktuelle Element ändert, wird das Signal ` currentItemChanged()` mit dem neuen aktuellen Element und dem zuvor aktuellen Element ausgelöst.
Siehe auch „ QListWidgetItem“ , „ QListView “, „ QTreeView “, „Modell-/Ansichtsprogrammierung“ und „Beispiel für einen Registerkarten-Dialog“.
Dokumentation zu den Eigenschaften
[read-only] count : int
Diese Eigenschaft gibt die Anzahl der Elemente in der Liste an, einschließlich aller ausgeblendeten Elemente.
Zugriffsfunktionen:
| int | count() const |
currentRow : int
Diese Eigenschaft enthält die Zeilennummer des aktuellen Elements.
Je nach aktuellem Auswahlmodus kann die Zeile auch ausgewählt sein.
Zugriffsfunktionen:
| int | currentRow() const |
| void | setCurrentRow(int row) |
| void | setCurrentRow(int row, QItemSelectionModel::SelectionFlags command) |
Benachrichtigungssignal:
| void | currentRowChanged(int currentRow) |
sortingEnabled : bool
Diese Eigenschaft gibt an, ob die Sortierung aktiviert ist
Ist diese Eigenschaft auf „ true “ gesetzt, ist die Sortierung für die Liste aktiviert; ist die Eigenschaft auf „false“ gesetzt, ist die Sortierung nicht aktiviert.
Der Standardwert ist „false“.
Zugriffsfunktionen:
| bool | isSortingEnabled() const |
| void | setSortingEnabled(bool enable) |
[since 6.10] supportedDragActions : Qt::DropActions
Diese Eigenschaft enthält die von dieser Ansicht unterstützten Drag-Aktionen
Diese Aufzählung wurde in Qt 6.10 eingeführt.
Zugriffsfunktionen:
| Qt::DropActions | supportedDragActions() const |
| void | setSupportedDragActions(Qt::DropActions actions) |
Siehe auch „ Qt::DropActions “ und „ supportedDropActions()“.
Dokumentation der Mitgliedsfunktionen
[explicit] QListWidget::QListWidget(QWidget *parent = nullptr)
Erstellt ein leeres QListWidget mit dem angegebenen „ parent “.
[virtual noexcept] QListWidget::~QListWidget()
Löscht das Listen-Widget und alle darin enthaltenen Elemente.
void QListWidget::addItem(QListWidgetItem *item)
Fügt das „ item “ am Ende des Listen-Widgets ein.
Warnung: Ein „ QListWidgetItem “ kann nur einmal zu einem „ QListWidget “ hinzugefügt werden. Das mehrmalige Hinzufügen desselben „ QListWidgetItem “ zu einem „ QListWidget “ führt zu undefiniertem Verhalten.
Siehe auch „ insertItem()“.
void QListWidget::addItem(const QString &label)
Fügt am Ende des Listen-Widgets einen Eintrag mit dem Text „ label “ ein.
void QListWidget::addItems(const QStringList &labels)
Fügt am Ende des Listen-Widgets einen Eintrag mit dem Text „ labels “ ein.
Siehe auch insertItems().
[slot] void QListWidget::clear()
Entfernt alle Elemente und Markierungen aus der Ansicht.
Warnung: Alle Elemente werden endgültig gelöscht.
void QListWidget::closePersistentEditor(QListWidgetItem *item)
Schließt den persistenten Editor für den angegebenen item.
Siehe auch ` openPersistentEditor()` und ` isPersistentEditorOpen()`.
QListWidgetItem *QListWidget::currentItem() const
Gibt das aktuelle Element zurück.
Siehe auch „ setCurrentItem()“.
[signal] void QListWidget::currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
Dieses Signal wird immer dann ausgelöst, wenn sich das aktuelle Element ändert.
previous ist das Element, das zuvor den Fokus hatte; current ist das neue aktuelle Element.
[signal] void QListWidget::currentRowChanged(int currentRow)
Dieses Signal wird immer dann ausgelöst, wenn sich das aktuelle Element ändert.
currentRow ist die Zeilennummer des aktuellen Elements. Wenn kein aktuelles Element vorhanden ist, ist der „ currentRow “ -1.
Hinweis: Notifier -Signal für die Eigenschaft „ currentRow “.
[signal] void QListWidget::currentTextChanged(const QString ¤tText)
Dieses Signal wird immer dann ausgelöst, wenn sich der aktuelle Eintrag ändert.
currentText bezeichnet die Textdaten des aktuellen Elements. Wenn kein aktuelles Element vorhanden ist, ist die „ currentText “ ungültig.
[override virtual protected] void QListWidget::dropEvent(QDropEvent *event)
Implementiert: ` QListView::dropEvent(QDropEvent *event)`.
[virtual protected] bool QListWidget::dropMimeData(int index, const QMimeData *data, Qt::DropAction action)
Verarbeitet den von einem externen Drag-and-Drop-Vorgang bereitgestellten „ data “, der mit dem angegebenen „ action “ im angegebenen „ index “ endete. Gibt „ true “ zurück, wenn „ data “ und „ action “ vom Modell verarbeitet werden können; andernfalls wird „ false “ zurückgegeben.
Siehe auch supportedDropActions() und supportedDragActions.
void QListWidget::editItem(QListWidgetItem *item)
Beginnt mit der Bearbeitung der „ item “, sofern diese bearbeitbar ist.
[override virtual protected] bool QListWidget::event(QEvent *e)
Implementiert: ` QListView::event(QEvent *e)`.
QList<QListWidgetItem *> QListWidget::findItems(const QString &text, Qt::MatchFlags flags) const
Sucht mithilfe der angegebenen Suchanfrage „ flags “ nach Einträgen, deren Text mit der Zeichenfolge „ text “ übereinstimmt.
QModelIndex QListWidget::indexFromItem(const QListWidgetItem *item) const
Gibt den QModelIndex zurück, der mit dem angegebenen item verknüpft ist.
Hinweis: In Qt-Versionen vor 5.10 nahm diese Funktion ein „const “ entgegen, das kein „ item “ war.
void QListWidget::insertItem(int row, QListWidgetItem *item)
Fügt den Eintrag „ item “ an der durch „ row “ angegebenen Position in der Liste ein.
Siehe auch addItem().
void QListWidget::insertItem(int row, const QString &label)
Fügt einen Eintrag mit dem Text „ label “ in das Listen-Widget an der durch „ row “ angegebenen Position ein.
Siehe auch addItem().
void QListWidget::insertItems(int row, const QStringList &labels)
Fügt Elemente aus der Liste „ labels “ in die Liste ein, beginnend mit dem angegebenen Element „ row “.
Siehe auch insertItem() und addItem().
bool QListWidget::isPersistentEditorOpen(QListWidgetItem *item) const
Gibt zurück, ob für das Element „ item “ ein persistenter Editor geöffnet ist.
Siehe auch ` openPersistentEditor()` und ` closePersistentEditor()`.
QListWidgetItem *QListWidget::item(int row) const
Gibt das Element zurück, das die angegebene „ row “ in der Liste einnimmt, sofern eine solche festgelegt wurde; andernfalls wird „ nullptr “ zurückgegeben.
Siehe auch row().
[signal] void QListWidget::itemActivated(QListWidgetItem *item)
Dieses Signal wird ausgesendet, wenn das „ item “ aktiviert wird. Das „ item “ wird aktiviert, wenn der Benutzer darauf klickt oder doppelklickt, je nach Systemkonfiguration. Es wird außerdem aktiviert, wenn der Benutzer die Aktivierungstaste drückt (unter Windows und X11 ist dies die Taste „ Return “, unter Mac OS X ist es „ Command+O “).
QListWidgetItem *QListWidget::itemAt(const QPoint &p) const
Gibt einen Zeiger auf das Element an den Koordinaten ` p` zurück. Die Koordinaten beziehen sich auf die ` viewport()` des Listen-Widgets.
QListWidgetItem *QListWidget::itemAt(int x, int y) const
Gibt einen Zeiger auf das Element an den Koordinaten (x, y) zurück. Die Koordinaten beziehen sich auf die Funktion „ viewport()“ des Listen-Widgets.
Dies ist eine überladene Funktion.
[signal] void QListWidget::itemChanged(QListWidgetItem *item)
Dieses Signal wird immer dann ausgegeben, wenn sich die Daten von „ item “ geändert haben.
[signal] void QListWidget::itemClicked(QListWidgetItem *item)
Dieses Signal wird mit dem angegebenen item ausgelöst, wenn eine Maustaste auf einem Element im Widget angeklickt wird.
Siehe auch „ itemPressed()“ und „ itemDoubleClicked()“.
[signal] void QListWidget::itemDoubleClicked(QListWidgetItem *item)
Dieses Signal wird mit dem angegebenen item ausgelöst, wenn eine Maustaste auf einem Element im Widget doppelt angeklickt wird.
Siehe auch „ itemClicked()“ und „ itemPressed()“.
[signal] void QListWidget::itemEntered(QListWidgetItem *item)
Dieses Signal wird ausgelöst, wenn der Mauszeiger in ein Element eintritt. „ item “ ist das Element, in das der Mauszeiger eingetreten ist. Dieses Signal wird nur ausgelöst, wenn „mouseTracking“ aktiviert ist oder wenn beim Einfahren in ein Element eine Maustaste gedrückt wird.
Siehe auch ` QWidget::setMouseTracking()`.
QListWidgetItem *QListWidget::itemFromIndex(const QModelIndex &index) const
Gibt einen Zeiger auf den „ QListWidgetItem “ zurück, der mit dem angegebenen „ index “ verknüpft ist.
[signal] void QListWidget::itemPressed(QListWidgetItem *item)
Dieses Signal wird mit dem angegebenen item ausgelöst, wenn eine Maustaste auf einem Element im Widget gedrückt wird.
Siehe auch „ itemClicked()“ und „ itemDoubleClicked()“.
[signal] void QListWidget::itemSelectionChanged()
Dieses Signal wird immer dann ausgelöst, wenn sich die Auswahl ändert.
Siehe auch selectedItems(), QListWidgetItem::isSelected() und currentItemChanged().
QWidget *QListWidget::itemWidget(QListWidgetItem *item) const
Gibt das Widget zurück, das unter der angegebenen Adresse item angezeigt wird.
Siehe auch „ setItemWidget()“ und „ removeItemWidget()“.
QList<QListWidgetItem *> QListWidget::items(const QMimeData *data) const
Gibt eine Liste von Zeigern auf die im Objekt „ data “ enthaltenen Elemente zurück. Wenn das Objekt nicht durch eine „ QListWidget “ im selben Prozess erstellt wurde, ist die Liste leer.
[virtual protected] QMimeData *QListWidget::mimeData(const QList<QListWidgetItem *> &items) const
Gibt ein Objekt zurück, das eine serialisierte Beschreibung der angegebenen ` items` enthält. Das zur Beschreibung der Elemente verwendete Format wird von der Funktion ` mimeTypes()` bereitgestellt.
Ist die Liste der Elemente leer, wird nullptr anstelle einer serialisierten leeren Liste zurückgegeben.
[virtual protected] QStringList QListWidget::mimeTypes() const
Gibt eine Liste von MIME-Typen zurück, mit denen eine Liste von Listwidget-Elementen beschrieben werden kann.
Siehe auch ` mimeData()`.
void QListWidget::openPersistentEditor(QListWidgetItem *item)
Öffnet einen Editor für die angegebene Datei „ item “. Der Editor bleibt nach der Bearbeitung geöffnet.
Siehe auch „ closePersistentEditor()“ und „ isPersistentEditorOpen()“.
void QListWidget::removeItemWidget(QListWidgetItem *item)
Entfernt das Widget-Set mit der angegebenen ID „ item “.
Um ein Element (eine Zeile) vollständig aus der Liste zu entfernen, löschen Sie das Element entweder oder verwenden Sie ` takeItem()`.
Siehe auch itemWidget() und setItemWidget().
int QListWidget::row(const QListWidgetItem *item) const
Gibt die Zeile zurück, die den angegebenen Wert „ item “ enthält.
Siehe auch item().
[slot] void QListWidget::scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
Blättert die Ansicht bei Bedarf, um sicherzustellen, dass der „ item “ sichtbar ist.
hint Legt fest, wo sich das „ item “ nach dem Vorgang befinden soll.
QList<QListWidgetItem *> QListWidget::selectedItems() const
Gibt eine Liste aller ausgewählten Elemente im Listen-Widget zurück.
void QListWidget::setCurrentItem(QListWidgetItem *item)
Setzt das aktuelle Element auf „ item “.
Sofern der Auswahlmodus nicht „ NoSelection “ ist, wird das Element zusätzlich ausgewählt.
Siehe auch currentItem().
void QListWidget::setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command)
Setze das aktuelle Element auf „ item “ unter Verwendung der angegebenen „ command “.
void QListWidget::setCurrentRow(int row, QItemSelectionModel::SelectionFlags command)
Setzt die aktuelle Zeile auf den angegebenen Wert ` row` unter Verwendung des angegebenen ` command`,
Hinweis: Setter -Funktion für die Eigenschaft ` currentRow`.
Siehe auch currentRow().
void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget)
Legt fest, dass das „ widget “ an der angegebenen Stelle item angezeigt wird.
Diese Funktion sollte nur verwendet werden, um statische Inhalte anstelle eines List-Widget-Elements anzuzeigen. Wenn Sie benutzerdefinierte dynamische Inhalte anzeigen oder ein benutzerdefiniertes Editor-Widget implementieren möchten, verwenden Sie stattdessen ` QListView ` und erstellen Sie eine Unterklasse von ` QStyledItemDelegate `.
Hinweis: Die Liste übernimmt die Eigentumsrechte an ` widget`.
Siehe auch „ itemWidget()“, „ removeItemWidget()“ und „Delegate-Klassen“.
[override virtual] void QListWidget::setSelectionModel(QItemSelectionModel *selectionModel)
Implementiert: QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel).
void QListWidget::sortItems(Qt::SortOrder order = Qt::AscendingOrder)
Sortiert alle Elemente im Listen-Widget gemäß dem angegebenen „ order “.
[virtual protected] Qt::DropActions QListWidget::supportedDropActions() const
Gibt die von dieser Ansicht unterstützten Drag-and-Drop-Aktionen zurück.
Siehe auch „ Qt::DropActions“ , „ supportedDragActions “ und „ dropMimeData()“.
QListWidgetItem *QListWidget::takeItem(int row)
Entfernt das Element aus dem angegebenen „ row “ im Listen-Widget und gibt es zurück; andernfalls wird „ nullptr “ zurückgegeben.
Aus einem Listen-Widget entfernte Elemente werden von Qt nicht verwaltet und müssen manuell gelöscht werden.
Siehe auch „ insertItem()“ und „ addItem()“.
QRect QListWidget::visualItemRect(const QListWidgetItem *item) const
Gibt das Rechteck im Ansichtsbereich zurück, das das Element unter item einnimmt.
© 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.