QItemSelection Class

Die Klasse QItemSelection verwaltet Informationen über ausgewählte Elemente in einem Modell. Mehr...

Kopfzeile: #include <QItemSelection>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Vererbungen: QList

Öffentliche Funktionen

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)

Statische öffentliche Mitglieder

void split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result)

Detaillierte Beschreibung

Eine QItemSelection beschreibt die Elemente in einem Modell, die vom Benutzer ausgewählt wurden. Eine QItemSelection ist im Grunde eine Liste von Auswahlbereichen, siehe QItemSelectionRange. Sie bietet Funktionen zur Erstellung und Bearbeitung von Selektionen und zur Auswahl eines Bereichs von Elementen aus einem Modell.

Die Klasse QItemSelection gehört zu den Model/View-Klassen und ist Teil des Model/View-Frameworks von Qt.

Eine Elementauswahl kann konstruiert und initialisiert werden, um einen Bereich von Elementen aus einem bestehenden Modell zu enthalten. Das folgende Beispiel konstruiert eine Auswahl, die einen Bereich von Elementen aus dem angegebenen model enthält, beginnend bei topLeft und endend bei bottomRight.

QItemSelection *selection = new QItemSelection(topLeft, bottomRight);

Es kann auch eine leere Elementauswahl erstellt werden, die später nach Bedarf ausgefüllt wird. Wenn also das Modell nicht verfügbar ist, wenn wir die Elementauswahl erstellen, können wir den obigen Code folgendermaßen umschreiben:

QItemSelection *selection = new QItemSelection();
...
selection->select(topLeft, bottomRight);

QItemSelection spart Speicher und vermeidet unnötige Arbeit, indem es mit Auswahlbereichen arbeitet, anstatt den Index des Modellelements für jedes Element in der Auswahl aufzuzeichnen. Im Allgemeinen enthält eine Instanz dieser Klasse eine Liste von nicht überlappenden Auswahlbereichen.

Verwenden Sie merge(), um eine Elementauswahl mit einer anderen zusammenzuführen, ohne überlappende Bereiche zu erstellen. Verwenden Sie split(), um einen Auswahlbereich in kleinere Bereiche zu unterteilen, die auf einem anderen Auswahlbereich basieren.

Siehe auch Model/View-Programmierung und QItemSelectionModel.

Dokumentation der Mitgliedsfunktionen

[noexcept default] QItemSelection::QItemSelection()

Konstruiert eine leere Auswahl.

QItemSelection::QItemSelection(const QModelIndex &topLeft, const QModelIndex &bottomRight)

Konstruiert eine Elementauswahl, die sich vom oberen linken Modellelement, angegeben durch den Index topLeft, bis zum unteren rechten Element, angegeben durch bottomRight, erstreckt.

bool QItemSelection::contains(const QModelIndex &index) const

Gibt true zurück, wenn die Auswahl die angegebene index enthält; andernfalls wird false zurückgegeben.

QModelIndexList QItemSelection::indexes() const

Gibt eine Liste von Modellindizes zurück, die den ausgewählten Elementen entsprechen.

void QItemSelection::merge(const QItemSelection &other, QItemSelectionModel::SelectionFlags command)

Verbindet die Auswahl other mit dieser QItemSelection unter Verwendung der angegebenen command. Diese Methode garantiert, dass sich keine Bereiche überschneiden.

Beachten Sie, dass nur QItemSelectionModel::Select, QItemSelectionModel::Deselect, und QItemSelectionModel::Toggle unterstützt werden.

Siehe auch split().

void QItemSelection::select(const QModelIndex &topLeft, const QModelIndex &bottomRight)

Fügt der Liste die Elemente in dem Bereich hinzu, der sich vom oberen linken Modellelement, angegeben durch den Index topLeft, bis zum unteren rechten Element, angegeben durch bottomRight, erstreckt.

Hinweis: topLeft und bottomRight müssen das gleiche übergeordnete Element haben.

[static] void QItemSelection::split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result)

Teilt die Auswahl range unter Verwendung des Auswahlbereichs other. Entfernt alle Elemente in other aus range und legt das Ergebnis in result ab. Dies kann mit der Semantik der Subtraktionsoperation einer Menge verglichen werden.

Siehe auch merge().

© 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.