QListWidget Class
Die Klasse QListWidget stellt ein Element-basiertes Listen-Widget zur Verfügung. Mehr...
Kopfzeile: | #include <QListWidget> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbt: | QListView |
Eigenschaften
- count : const int
- currentRow : int
- sortingEnabled : bool
Ö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, QItemSelectionModel::SelectionFlags command) |
void | setCurrentRow(int row) |
void | setItemWidget(QListWidgetItem *item, QWidget *widget) |
void | setSortingEnabled(bool enable) |
void | sortItems(Qt::SortOrder order = Qt::AscendingOrder) |
QListWidgetItem * | takeItem(int row) |
QRect | visualItemRect(const QListWidgetItem *item) const |
Reimplementierte ö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 |
Reimplementierte geschützte Funktionen
Detaillierte Beschreibung
QListWidget ist eine Komfortklasse, die eine Listenansicht ähnlich der von QListView bereitgestellten bietet, jedoch mit einer klassischen, auf Elementen basierenden Schnittstelle zum Hinzufügen und Entfernen von Elementen. QListWidget verwendet ein internes Modell, um jedes QListWidgetItem in der Liste zu verwalten.
Für ein flexibleres Listenansicht-Widget verwenden Sie die Klasse QListView mit einem Standardmodell.
Listen-Widgets werden auf die gleiche Weise konstruiert wie andere Widgets:
QListWidget *listWidget = new QListWidget(this);
Die selectionMode() eines Listen-Widgets bestimmt, wie viele der Elemente in der Liste gleichzeitig ausgewählt werden können und ob komplexe Auswahlen von Elementen erstellt werden können. Dies kann mit der Funktion setSelectionMode() eingestellt werden.
Es gibt zwei Möglichkeiten, Elemente zur Liste hinzuzufügen: Sie können mit dem Listen-Widget als übergeordnetem Widget erstellt werden, oder sie können ohne übergeordnetes Widget erstellt und später zur Liste hinzugefügt werden. Wenn ein Listen-Widget bereits vorhanden ist, wenn die Elemente erstellt werden, ist die erste Methode einfacher zu verwenden:
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 ein übergeordnetes Widget erstellt werden. Die Funktion insertItem() sollte dann verwendet werden, um es in der Liste zu platzieren. Das Listen-Widget wird Eigentümer des Eintrags.
QListWidgetItem *newItem = new QListWidgetItem; newItem->setText(itemText); listWidget->insertItem(row, newItem);
Für mehrere Elemente kann stattdessen insertItems() verwendet werden. Die Anzahl der Einträge 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 ausgegeben.
Siehe auch QListWidgetItem, QListView, QTreeView, Model/View-Programmierung und Tabulator-Dialog Beispiel.
Dokumentation der Eigenschaft
[read-only]
count : const int
Diese Eigenschaft enthält die Anzahl der Elemente in der Liste, einschließlich aller ausgeblendeten Elemente.
Zugriffsfunktionen:
int | count() const |
currentRow : int
Diese Eigenschaft enthält die Zeile 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.
Wenn diese Eigenschaft true
ist, ist die Sortierung für die Liste aktiviert; wenn die Eigenschaft false ist, ist die Sortierung nicht aktiviert.
Der Standardwert ist false.
Zugriffsfunktionen:
bool | isSortingEnabled() const |
void | setSortingEnabled(bool enable) |
Dokumentation der Mitgliedsfunktionen
[explicit]
QListWidget::QListWidget(QWidget *parent = nullptr)
Konstruiert ein leeres QListWidget mit der angegebenen parent.
[virtual noexcept]
QListWidget::~QListWidget()
Zerstört das Listen-Widget und alle seine Elemente.
void QListWidget::addItem(QListWidgetItem *item)
Fügt das item am Ende des Listen-Widgets ein.
Achtung! Ein QListWidgetItem kann nur einmal zu einem QListWidget hinzugefügt werden. Das mehrfache Hinzufügen desselben QListWidgetItem zu einem QListWidget führt zu undefiniertem Verhalten.
Siehe auch insertItem().
void QListWidget::addItem(const QString &label)
Fügt ein Element mit dem Text label am Ende des Listen-Widgets ein.
void QListWidget::addItems(const QStringList &labels)
Fügt Elemente mit dem Text labels am Ende des Listen-Widgets ein.
Siehe auch insertItems().
[slot]
void QListWidget::clear()
Entfernt alle Elemente und Auswahlen in der Ansicht.
Warnung: Alle Elemente werden dauerhaft 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 ausgegeben, 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 ausgegeben, wenn sich das aktuelle Element ändert.
currentRow ist die Zeile des aktuellen Eintrags. Wenn es kein aktuelles Element gibt, ist currentRow -1.
Hinweis: Benachrichtigungssignal für die Eigenschaft currentRow.
[signal]
void QListWidget::currentTextChanged(const QString ¤tText)
Dieses Signal wird ausgegeben, wenn sich der aktuelle Eintrag ändert.
currentText sind die Textdaten des aktuellen Eintrags. Wenn es kein aktuelles Element gibt, ist currentText ungültig.
[override virtual protected]
void QListWidget::dropEvent(QDropEvent *event)
Reimplements: QListView::dropEvent(QDropEvent *event).
[virtual protected]
bool QListWidget::dropMimeData(int index, const QMimeData *data, Qt::DropAction action)
Behandelt data, das von einem externen Drag&Drop-Vorgang geliefert wurde, der mit dem angegebenen action im angegebenen index endete. Gibt true
zurück, wenn data und action vom Modell verarbeitet werden können; andernfalls gibt es false
zurück.
Siehe auch supportedDropActions().
void QListWidget::editItem(QListWidgetItem *item)
Beginnt mit der Bearbeitung von item, sofern es bearbeitbar ist.
[override virtual protected]
bool QListWidget::event(QEvent *e)
Reimplements: QListView::event(QEvent *e).
QList<QListWidgetItem *> QListWidget::findItems(const QString &text, Qt::MatchFlags flags) const
Findet Elemente mit dem Text, der mit der Zeichenkette text übereinstimmt, unter Verwendung der angegebenen flags.
QModelIndex QListWidget::indexFromItem(const QListWidgetItem *item) const
Gibt die QModelIndex zurück, die mit dem angegebenen item verbunden ist.
Hinweis: In Qt-Versionen vor 5.10 nahm diese Funktion ein nichtconst
item .
void QListWidget::insertItem(int row, QListWidgetItem *item)
Fügt 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 row.
Siehe auch insertItem() und addItem().
bool QListWidget::isPersistentEditorOpen(QListWidgetItem *item) const
Gibt zurück, ob ein persistenter Editor für das Element item 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 belegt, wenn eines gesetzt wurde; andernfalls wird nullptr
zurückgegeben.
Siehe auch row().
[signal]
void QListWidget::itemActivated(QListWidgetItem *item)
Dieses Signal wird ausgegeben, wenn die item aktiviert wird. Die item wird aktiviert, wenn der Benutzer darauf klickt oder doppelklickt, je nach Systemkonfiguration. Es wird auch 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 sind relativ zu viewport() des Listenwidgets.
QListWidgetItem *QListWidget::itemAt(int x, int y) const
Dies ist eine überladene Funktion.
Gibt einen Zeiger auf das Element an den Koordinaten (x, y) zurück. Die Koordinaten sind relativ zu viewport() des Listen-Widgets.
[signal]
void QListWidget::itemChanged(QListWidgetItem *item)
Dieses Signal wird ausgegeben, wenn sich die Daten von item geändert haben.
[signal]
void QListWidget::itemClicked(QListWidgetItem *item)
Dieses Signal wird mit dem angegebenen item ausgegeben, wenn eine Maustaste auf ein Element im Widget geklickt wird.
Siehe auch itemPressed() und itemDoubleClicked().
[signal]
void QListWidget::itemDoubleClicked(QListWidgetItem *item)
Dieses Signal wird mit dem angegebenen item ausgegeben, wenn eine Maustaste doppelt auf ein Element im Widget geklickt wird.
Siehe auch itemClicked() und itemPressed().
[signal]
void QListWidget::itemEntered(QListWidgetItem *item)
Dieses Signal wird ausgegeben, wenn der Mauszeiger ein Element betritt. Die Adresse item ist der eingegebene Eintrag. Dieses Signal wird nur ausgegeben, wenn mouseTracking eingeschaltet ist oder wenn eine Maustaste gedrückt wird, während der Mauszeiger ein Objekt betritt.
Siehe auch QWidget::setMouseTracking().
QListWidgetItem *QListWidget::itemFromIndex(const QModelIndex &index) const
Gibt einen Zeiger auf den QListWidgetItem zurück, der mit dem angegebenen index verbunden ist.
[signal]
void QListWidget::itemPressed(QListWidgetItem *item)
Dieses Signal wird mit dem angegebenen item ausgegeben, wenn eine Maustaste auf ein Element im Widget gedrückt wird.
Siehe auch itemClicked() und itemDoubleClicked().
[signal]
void QListWidget::itemSelectionChanged()
Dieses Signal wird immer dann ausgegeben, wenn sich die Auswahl ändert.
Siehe auch selectedItems(), QListWidgetItem::isSelected(), und currentItemChanged().
QWidget *QListWidget::itemWidget(QListWidgetItem *item) const
Gibt das Widget zurück, das in dem angegebenen 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. Wurde das Objekt nicht von einem QListWidget im selben Prozess erstellt, ist die Liste leer.
[virtual protected]
QMimeData *QListWidget::mimeData(const QList<QListWidgetItem *> &items) const
Gibt ein Objekt zurück, das eine serialisierte Beschreibung des angegebenen items enthält. Das zur Beschreibung der Elemente verwendete Format wird von der Funktion mimeTypes() bezogen.
Wenn die Liste der Elemente leer ist, wird nullptr
anstelle einer serialisierten leeren Liste zurückgegeben.
[virtual protected]
QStringList QListWidget::mimeTypes() const
Gibt eine Liste von MIME-Typen zurück, die zur Beschreibung einer Liste von Listwidget-Elementen verwendet werden können.
Siehe auch mimeData().
void QListWidget::openPersistentEditor(QListWidgetItem *item)
Öffnet einen Editor für die angegebene item. Der Editor bleibt nach der Bearbeitung geöffnet.
Siehe auch closePersistentEditor() und isPersistentEditorOpen().
void QListWidget::removeItemWidget(QListWidgetItem *item)
Entfernt den Widgetsatz auf dem angegebenen item.
Um ein Element (eine Zeile) vollständig aus der Liste zu entfernen, löschen Sie entweder das Element oder verwenden Sie takeItem().
Siehe auch itemWidget() und setItemWidget().
int QListWidget::row(const QListWidgetItem *item) const
Gibt die Zeile zurück, die die angegebene item enthält.
Siehe auch item().
[slot]
void QListWidget::scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
Scrollt die Ansicht, falls erforderlich, um sicherzustellen, dass item sichtbar ist.
hint gibt an, wo sich die 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.
Wenn der Auswahlmodus nicht NoSelection ist, wird der Eintrag ebenfalls ausgewählt.
Siehe auch currentItem().
void QListWidget::setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command)
Setzt das aktuelle Element auf item, unter Verwendung der angegebenen command.
void QListWidget::setCurrentRow(int row, QItemSelectionModel::SelectionFlags command)
Setzt die aktuelle Zeile auf die angegebene row, unter Verwendung der angegebenen command,
Hinweis: Setter-Funktion für die Eigenschaft currentRow.
Siehe auch currentRow().
void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget)
Legt die widget fest, die in der angegebenen item angezeigt werden soll.
Diese Funktion sollte nur verwendet werden, um statische Inhalte anstelle eines Listenwidgetelements anzuzeigen. Wenn Sie benutzerdefinierte dynamische Inhalte anzeigen oder ein benutzerdefiniertes Editor-Widget implementieren möchten, verwenden Sie stattdessen QListView und die Unterklasse QStyledItemDelegate.
Hinweis: Die Liste übernimmt das Eigentum an widget.
Siehe auch itemWidget(), removeItemWidget(), und Delegate Classes.
[override virtual]
void QListWidget::setSelectionModel(QItemSelectionModel *selectionModel)
Reimplements: QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel).
void QListWidget::sortItems(Qt::SortOrder order = Qt::AscendingOrder)
Sortiert alle Elemente im Listen-Widget entsprechend der angegebenen order.
[virtual protected]
Qt::DropActions QListWidget::supportedDropActions() const
Gibt die von dieser Ansicht unterstützten Drop-Aktionen zurück.
Siehe auch Qt::DropActions.
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.
Elemente, die aus einem Listenwidget entfernt werden, werden nicht von Qt verwaltet und müssen manuell gelöscht werden.
Siehe auch insertItem() und addItem().
QRect QListWidget::visualItemRect(const QListWidgetItem *item) const
Gibt das Rechteck im Ansichtsfenster zurück, das von dem Element auf item eingenommen wird.
© 2025 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.