QAbstractItemView Class

Die Klasse QAbstractItemView bietet die grundlegende Funktionalität für Item-View-Klassen. Mehr...

Kopfzeile: #include <QAbstractItemView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Vererbt: QAbstractScrollArea
Vererbt von:

QColumnView, QHeaderView, QListView, QTableView, und QTreeView

Öffentliche Typen

enum DragDropMode { NoDragDrop, DragOnly, DropOnly, DragDrop, InternalMove }
enum EditTrigger { NoEditTriggers, CurrentChanged, DoubleClicked, SelectedClicked, EditKeyPressed, …, AllEditTriggers }
flags EditTriggers
enum ScrollHint { EnsureVisible, PositionAtTop, PositionAtBottom, PositionAtCenter }
enum ScrollMode { ScrollPerItem, ScrollPerPixel }
enum SelectionBehavior { SelectItems, SelectRows, SelectColumns }
enum SelectionMode { SingleSelection, ContiguousSelection, ExtendedSelection, MultiSelection, NoSelection }

Eigenschaften

Öffentliche Funktionen

QAbstractItemView(QWidget *parent = nullptr)
virtual ~QAbstractItemView()
bool alternatingRowColors() const
int autoScrollMargin() const
void closePersistentEditor(const QModelIndex &index)
QModelIndex currentIndex() const
Qt::DropAction defaultDropAction() const
QAbstractItemView::DragDropMode dragDropMode() const
bool dragDropOverwriteMode() const
bool dragEnabled() const
QAbstractItemView::EditTriggers editTriggers() const
bool hasAutoScroll() const
QAbstractItemView::ScrollMode horizontalScrollMode() const
QSize iconSize() const
virtual QModelIndex indexAt(const QPoint &point) const = 0
QWidget *indexWidget(const QModelIndex &index) const
bool isPersistentEditorOpen(const QModelIndex &index) const
QAbstractItemDelegate *itemDelegate() const
QAbstractItemDelegate *itemDelegateForColumn(int column) const
(since 6.0) virtual QAbstractItemDelegate *itemDelegateForIndex(const QModelIndex &index) const
QAbstractItemDelegate *itemDelegateForRow(int row) const
virtual void keyboardSearch(const QString &search)
QAbstractItemModel *model() const
void openPersistentEditor(const QModelIndex &index)
void resetHorizontalScrollMode()
void resetVerticalScrollMode()
QModelIndex rootIndex() const
virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) = 0
QAbstractItemView::SelectionBehavior selectionBehavior() const
QAbstractItemView::SelectionMode selectionMode() const
QItemSelectionModel *selectionModel() const
void setAlternatingRowColors(bool enable)
void setAutoScroll(bool enable)
void setAutoScrollMargin(int margin)
void setDefaultDropAction(Qt::DropAction dropAction)
void setDragDropMode(QAbstractItemView::DragDropMode behavior)
void setDragDropOverwriteMode(bool overwrite)
void setDragEnabled(bool enable)
void setDropIndicatorShown(bool enable)
void setEditTriggers(QAbstractItemView::EditTriggers triggers)
void setHorizontalScrollMode(QAbstractItemView::ScrollMode mode)
void setIconSize(const QSize &size)
void setIndexWidget(const QModelIndex &index, QWidget *widget)
void setItemDelegate(QAbstractItemDelegate *delegate)
void setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)
void setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)
virtual void setModel(QAbstractItemModel *model)
void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)
void setSelectionMode(QAbstractItemView::SelectionMode mode)
virtual void setSelectionModel(QItemSelectionModel *selectionModel)
void setTabKeyNavigation(bool enable)
void setTextElideMode(Qt::TextElideMode mode)
void setVerticalScrollMode(QAbstractItemView::ScrollMode mode)
bool showDropIndicator() const
virtual int sizeHintForColumn(int column) const
QSize sizeHintForIndex(const QModelIndex &index) const
virtual int sizeHintForRow(int row) const
bool tabKeyNavigation() const
Qt::TextElideMode textElideMode() const
QAbstractItemView::ScrollMode verticalScrollMode() const
virtual QRect visualRect(const QModelIndex &index) const = 0

Reimplementierte öffentliche Funktionen

virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const override

Öffentliche Slots

void clearSelection()
void edit(const QModelIndex &index)
virtual void reset()
void scrollToBottom()
void scrollToTop()
virtual void selectAll()
void setCurrentIndex(const QModelIndex &index)
virtual void setRootIndex(const QModelIndex &index)
void update(const QModelIndex &index)

Signale

void activated(const QModelIndex &index)
void clicked(const QModelIndex &index)
void doubleClicked(const QModelIndex &index)
void entered(const QModelIndex &index)
void iconSizeChanged(const QSize &size)
void pressed(const QModelIndex &index)
void viewportEntered()

Geschützte Typen

enum CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight, MoveHome, …, MovePrevious }
enum DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport }
enum State { NoState, DraggingState, DragSelectingState, EditingState, ExpandingState, …, AnimatingState }

Geschützte Funktionen

QPoint dirtyRegionOffset() const
QAbstractItemView::DropIndicatorPosition dropIndicatorPosition() const
virtual bool edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)
void executeDelayedItemsLayout()
virtual int horizontalOffset() const = 0
(since 6.0) virtual void initViewItemOption(QStyleOptionViewItem *option) const
virtual bool isIndexHidden(const QModelIndex &index) const = 0
virtual QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) = 0
void scheduleDelayedItemsLayout()
void scrollDirtyRegion(int dx, int dy)
virtual QModelIndexList selectedIndexes() const
virtual QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const
void setDirtyRegion(const QRegion &region)
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) = 0
void setState(QAbstractItemView::State state)
virtual void startDrag(Qt::DropActions supportedActions)
QAbstractItemView::State state() const
virtual int verticalOffset() const = 0
virtual QRegion visualRegionForSelection(const QItemSelection &selection) const = 0

Reimplementierte geschützte Funktionen

virtual void dragEnterEvent(QDragEnterEvent *event) override
virtual void dragLeaveEvent(QDragLeaveEvent *event) override
virtual void dragMoveEvent(QDragMoveEvent *event) override
virtual void dropEvent(QDropEvent *event) override
virtual bool event(QEvent *event) override
virtual bool eventFilter(QObject *object, QEvent *event) override
virtual void focusInEvent(QFocusEvent *event) override
virtual bool focusNextPrevChild(bool next) override
virtual void focusOutEvent(QFocusEvent *event) override
virtual void inputMethodEvent(QInputMethodEvent *event) override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void mouseDoubleClickEvent(QMouseEvent *event) override
virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual void resizeEvent(QResizeEvent *event) override
virtual void timerEvent(QTimerEvent *event) override
virtual bool viewportEvent(QEvent *event) override
virtual QSize viewportSizeHint() const override

Geschützte Steckplätze

virtual void closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)
virtual void commitData(QWidget *editor)
virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous)
virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())
virtual void editorDestroyed(QObject *editor)
virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
virtual void rowsInserted(const QModelIndex &parent, int start, int end)
virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
virtual void updateGeometries()

Detaillierte Beschreibung

Die Klasse QAbstractItemView ist die Basisklasse für jede Standardansicht, die eine QAbstractItemModel verwendet. QAbstractItemView ist eine abstrakte Klasse und kann selbst nicht instanziert werden. Sie bietet eine Standardschnittstelle für die Interaktion mit Modellen über den Signal- und Slot-Mechanismus, so dass Unterklassen über Änderungen an ihren Modellen auf dem Laufenden gehalten werden können. Diese Klasse bietet Standardunterstützung für Tastatur- und Mausnavigation, Scrollen im Ansichtsfenster, Bearbeiten von Elementen und Auswahlen. Die Tastaturnavigation implementiert diese Funktionalität:

TastenFunktionsweise
PfeiltastenÄndert das aktuelle Element und wählt es aus.
Strg+PfeiltastenÄndert das aktuelle Element, wählt es aber nicht aus.
Umschalttaste+PfeiltastenÄndert das aktuelle Element und wählt es aus. Das/die zuvor ausgewählte(n) Element(e) wird/werden nicht abgewählt.
Strg+LeertasteSchaltet die Auswahl des aktuellen Elements um.
Tabulator/Rückwärts-TabulatorWechselt vom aktuellen Element zum nächsten/vorherigen Element.
Start/EndeWählt das erste/letzte Element im Modell aus.
Seite hoch/Seite runterBlättert die angezeigten Zeilen um die Anzahl der sichtbaren Zeilen in der Ansicht nach oben/unten.
Strg+AWählt alle Elemente im Modell aus.

Beachten Sie, dass die obige Tabelle davon ausgeht, dass selection mode die Operationen zulässt. Sie können zum Beispiel keine Elemente auswählen, wenn der Auswahlmodus QAbstractItemView::NoSelection ist.

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

Die View-Klassen, die von QAbstractItemView erben, müssen nur ihre eigene View-spezifische Funktionalität implementieren, wie z.B. das Zeichnen von Elementen, die Rückgabe der Geometrie von Elementen, die Suche nach Elementen, usw.

QAbstractItemView bietet allgemeine Slots wie edit() und setCurrentIndex(). Viele geschützte Slots sind ebenfalls vorhanden, einschließlich dataChanged(), rowsInserted(), rowsAboutToBeRemoved(), selectionChanged() und currentChanged().

Das Stammelement wird von rootIndex() zurückgegeben, das aktuelle Element von currentIndex(). Um sicherzustellen, dass ein Element sichtbar ist, verwenden Sie scrollTo().

Einige der Funktionen von QAbstractItemView befassen sich mit dem Scrollen, zum Beispiel setHorizontalScrollMode() und setVerticalScrollMode(). Um den Bereich der Bildlaufleisten festzulegen, können Sie z.B. die Funktion resizeEvent() des Views neu implementieren:

void MyView::resizeEvent(QResizeEvent *event) {
    horizontalScrollBar()->setRange(0, realWidth - width());
    ...
}

Beachten Sie, dass der Bereich nicht aktualisiert wird, bis das Widget angezeigt wird.

Mehrere andere Funktionen befassen sich mit der Auswahlsteuerung, zum Beispiel setSelectionMode() und setSelectionBehavior(). Diese Klasse stellt ein Standardauswahlmodell zur Verfügung, mit dem Sie arbeiten können (selectionModel()), aber dieses kann durch die Verwendung von setSelectionModel() mit einer Instanz von QItemSelectionModel ersetzt werden.

Für die vollständige Kontrolle über die Anzeige und Bearbeitung von Elementen können Sie einen Delegaten mit setItemDelegate() angeben.

QAbstractItemView bietet eine Vielzahl von geschützten Funktionen. Einige beziehen sich auf die Bearbeitung, z. B. edit() und commitData(), während andere Tastatur- und Mausereignis-Handler sind.

Hinweis: Wenn Sie QAbstractItemView erben und beabsichtigen, den Inhalt des Ansichtsfensters zu aktualisieren, sollten Sie viewport->update() anstelle von update() verwenden, da alle Malvorgänge im Ansichtsfenster stattfinden.

Siehe auch View-Klassen, Model/View-Programmierung und QAbstractItemModel.

Dokumentation der Mitgliedstypen

enum QAbstractItemView::CursorAction

Diese Aufzählung beschreibt die verschiedenen Möglichkeiten der Navigation zwischen Elementen,

KonstanteWertBeschreibung
QAbstractItemView::MoveUp0Zu dem Element oberhalb des aktuellen Elements wechseln.
QAbstractItemView::MoveDown1Zu dem Element unterhalb des aktuellen Elements wechseln.
QAbstractItemView::MoveLeft2Verschieben zum Element links vom aktuellen Element.
QAbstractItemView::MoveRight3Verschieben zum Element rechts vom aktuellen Element.
QAbstractItemView::MoveHome4Verschieben zum Element in der linken oberen Ecke.
QAbstractItemView::MoveEnd5Verschieben zum Element in der rechten unteren Ecke.
QAbstractItemView::MovePageUp6Verschieben um eine Seite nach oben über das aktuelle Element.
QAbstractItemView::MovePageDown7Verschieben um eine Seite nach unten unter das aktuelle Element.
QAbstractItemView::MoveNext8Verschieben zum Element nach dem aktuellen Element.
QAbstractItemView::MovePrevious9Wechseln zu dem Element vor dem aktuellen Element.

Siehe auch moveCursor().

enum QAbstractItemView::DragDropMode

Beschreibt die verschiedenen Drag&Drop-Ereignisse, auf die die Ansicht reagieren kann. Standardmäßig unterstützt die Ansicht kein Ziehen oder Ablegen (NoDragDrop).

KonstanteWertBeschreibung
QAbstractItemView::NoDragDrop0Unterstützt kein Ziehen oder Ablegen.
QAbstractItemView::DragOnly1Die Ansicht unterstützt das Ziehen ihrer eigenen Elemente
QAbstractItemView::DropOnly2Die Ansicht akzeptiert das Ablegen
QAbstractItemView::DragDrop3Die Ansicht unterstützt sowohl das Ziehen als auch das Fallenlassen
QAbstractItemView::InternalMove4Die Ansicht akzeptiert Verschiebe-(nicht Kopier-) Operationen nur von sich selbst.

Beachten Sie, dass das verwendete Modell Unterstützung für Drag & Drop Operationen bieten muss.

Siehe auch setDragDropMode() und Ziehen und Ablegen mit Elementansichten verwenden.

enum QAbstractItemView::DropIndicatorPosition

Diese Aufzählung gibt die Position des Tropfenanzeigers in Bezug auf den Index an der aktuellen Mausposition an:

KonstanteWertBeschreibung
QAbstractItemView::OnItem0Das Element wird auf dem Index abgelegt.
QAbstractItemView::AboveItem1Das Element wird oberhalb des Indexes abgelegt.
QAbstractItemView::BelowItem2Das Element wird unterhalb des Indexes abgelegt.
QAbstractItemView::OnViewport3Das Element wird in einem Bereich des Ansichtsfensters abgelegt, in dem sich keine Elemente befinden. Die Art und Weise, wie jede Ansicht mit Elementen umgeht, die auf dem Ansichtsfenster abgelegt werden, hängt vom Verhalten des zugrunde liegenden Modells ab, das verwendet wird.

enum QAbstractItemView::EditTrigger
flags QAbstractItemView::EditTriggers

Diese Aufzählung beschreibt Aktionen, die die Bearbeitung von Elementen auslösen.

KonstanteWertBeschreibung
QAbstractItemView::NoEditTriggers0Keine Bearbeitung möglich.
QAbstractItemView::CurrentChanged1Die Bearbeitung beginnt, wenn sich das aktuelle Element ändert.
QAbstractItemView::DoubleClicked2Die Bearbeitung beginnt, wenn ein Element doppelt angeklickt wird.
QAbstractItemView::SelectedClicked4Die Bearbeitung beginnt, wenn Sie auf ein bereits ausgewähltes Element klicken.
QAbstractItemView::EditKeyPressed8Die Bearbeitung beginnt, wenn die Plattform-Bearbeitungstaste über einem Element gedrückt wird.
QAbstractItemView::AnyKeyPressed16Die Bearbeitung beginnt, wenn eine beliebige Taste über einem Element gedrückt wird.
QAbstractItemView::AllEditTriggers31Die Bearbeitung beginnt bei allen oben genannten Aktionen.

Der Typ EditTriggers ist ein Typedef für QFlags<EditTrigger>. Er speichert eine ODER-Kombination von EditTrigger-Werten.

enum QAbstractItemView::ScrollHint

KonstanteWertBeschreibung
QAbstractItemView::EnsureVisible0Blättern, um sicherzustellen, dass das Element sichtbar ist.
QAbstractItemView::PositionAtTop1Blättern, um das Element am oberen Rand des Ansichtsfensters zu positionieren.
QAbstractItemView::PositionAtBottom2Scrollen, um das Element am unteren Rand des Ansichtsfensters zu positionieren.
QAbstractItemView::PositionAtCenter3Blättern, um das Element in der Mitte des Ansichtsfensters zu positionieren.

enum QAbstractItemView::ScrollMode

Beschreibt, wie sich die Bildlaufleiste verhalten soll. Wenn der Bildlaufmodus auf ScrollPerPixel gesetzt wird, passt sich die Einzelschrittgröße automatisch an, es sei denn, sie wurde explizit mit setSingleStep() festgelegt. Die automatische Anpassung kann wiederhergestellt werden, indem die Einzelschrittgröße auf -1 gesetzt wird.

KonstanteWertBeschreibung
QAbstractItemView::ScrollPerItem0Die Ansicht scrollt den Inhalt um jeweils ein Element.
QAbstractItemView::ScrollPerPixel1Die Ansicht scrollt den Inhalt jeweils um ein Pixel.

enum QAbstractItemView::SelectionBehavior

KonstanteWertBeschreibung
QAbstractItemView::SelectItems0Auswahl einzelner Positionen.
QAbstractItemView::SelectRows1Nur Zeilen markieren.
QAbstractItemView::SelectColumns2Nur Spalten markieren.

enum QAbstractItemView::SelectionMode

Diese Aufzählung gibt an, wie die Ansicht auf Benutzerauswahlen reagiert:

KonstanteWertBeschreibung
QAbstractItemView::SingleSelection1Wenn der Benutzer ein Element auswählt, wird ein bereits ausgewähltes Element abgewählt. Der Benutzer kann die Auswahl des Elements aufheben, indem er die Strg-Taste drückt, während er auf das ausgewählte Element klickt.
QAbstractItemView::ContiguousSelection4Wenn der Benutzer ein Element auf die übliche Weise auswählt, wird die Auswahl aufgehoben und das neue Element ausgewählt. Wenn der Benutzer jedoch die Umschalttaste drückt, während er auf ein Element klickt, werden alle Elemente zwischen dem aktuellen Element und dem angeklickten Element ausgewählt oder abgewählt, je nachdem, welchen Status das angeklickte Element hat.
QAbstractItemView::ExtendedSelection3Wenn der Benutzer ein Element auf die übliche Weise auswählt, wird die Auswahl aufgehoben und das neue Element ausgewählt. Wenn der Benutzer jedoch die Strg-Taste drückt, während er auf ein Element klickt, wird das angeklickte Element umgeschaltet und alle anderen Elemente bleiben unberührt. Wenn der Benutzer die Umschalttaste drückt, während er auf ein Element klickt, werden alle Elemente zwischen dem aktuellen Element und dem angeklickten Element ausgewählt oder abgewählt, je nach dem Status des angeklickten Elements. Mehrere Elemente können ausgewählt werden, indem die Maus über sie gezogen wird.
QAbstractItemView::MultiSelection2Wenn der Benutzer ein Element auf die übliche Weise auswählt, wird der Auswahlstatus dieses Elements umgeschaltet, während die anderen Elemente in Ruhe gelassen werden. Mehrere Elemente können umgeschaltet werden, indem die Maus über sie gezogen wird.
QAbstractItemView::NoSelection0Elemente können nicht ausgewählt werden.

Die am häufigsten verwendeten Modi sind SingleSelection und ExtendedSelection.

enum QAbstractItemView::State

Beschreibt die verschiedenen Zustände, in denen sich die Ansicht befinden kann. Dies ist in der Regel nur interessant, wenn Sie Ihre eigene Ansicht neu implementieren.

KonstanteWertBeschreibung
QAbstractItemView::NoState0Der ist der Standardzustand.
QAbstractItemView::DraggingState1Der Benutzer verschiebt Elemente.
QAbstractItemView::DragSelectingState2Der Benutzer wählt Elemente aus.
QAbstractItemView::EditingState3Der Benutzer bearbeitet ein Element in einem Widget-Editor.
QAbstractItemView::ExpandingState4Der Benutzer öffnet einen Zweig mit Elementen.
QAbstractItemView::CollapsingState5Der Benutzer schließt eine Verzweigung von Objekten.
QAbstractItemView::AnimatingState6In der Elementansicht wird eine Animation ausgeführt.

Dokumentation der Eigenschaft

alternatingRowColors : bool

Diese Eigenschaft legt fest, ob der Hintergrund mit wechselnden Farben gezeichnet werden soll

Wenn diese Eigenschaft true lautet, wird der Elementhintergrund mit QPalette::Base und QPalette::AlternateBase gezeichnet; andernfalls wird der Hintergrund mit der Farbe QPalette::Base gezeichnet.

Standardmäßig ist diese Eigenschaft auf false eingestellt.

Zugriffsfunktionen:

bool alternatingRowColors() const
void setAlternatingRowColors(bool enable)

autoScroll : bool

Diese Eigenschaft legt fest, ob der automatische Bildlauf bei Ziehvorgängen aktiviert ist.

Wenn diese Eigenschaft auf true gesetzt ist (Standard), scrollt QAbstractItemView automatisch den Inhalt der Ansicht, wenn der Benutzer innerhalb von 16 Pixeln vom Rand des Ansichtsfensters zieht. Wenn sich das aktuelle Element ändert, wird die Ansicht automatisch gescrollt, um sicherzustellen, dass das aktuelle Element vollständig sichtbar ist.

Diese Eigenschaft funktioniert nur, wenn das Ansichtsfenster Tropfen zulässt. Autoscroll wird ausgeschaltet, indem diese Eigenschaft auf false gesetzt wird.

Zugriffsfunktionen:

bool hasAutoScroll() const
void setAutoScroll(bool enable)

autoScrollMargin : int

Diese Eigenschaft bestimmt die Größe des Bereichs, wenn der automatische Bildlauf ausgelöst wird

Diese Eigenschaft steuert die Größe des Bereichs am Rand des Ansichtsfensters, der den automatischen Bildlauf auslöst. Der Standardwert ist 16 Pixel.

Zugriffsfunktionen:

int autoScrollMargin() const
void setAutoScrollMargin(int margin)

defaultDropAction : Qt::DropAction

Diese Eigenschaft enthält die Drop-Aktion, die standardmäßig in QAbstractItemView::drag() verwendet wird.

Wenn die Eigenschaft nicht gesetzt ist, ist die Drop-Aktion CopyAction, wenn die unterstützten Aktionen CopyAction unterstützen.

Zugriffsfunktionen:

Qt::DropAction defaultDropAction() const
void setDefaultDropAction(Qt::DropAction dropAction)

Siehe auch showDropIndicator und dragDropOverwriteMode.

dragDropMode : DragDropMode

Diese Eigenschaft enthält das Drag&Drop-Ereignis, auf das die Ansicht reagieren wird

Zugriffsfunktionen:

QAbstractItemView::DragDropMode dragDropMode() const
void setDragDropMode(QAbstractItemView::DragDropMode behavior)

Siehe auch showDropIndicator und dragDropOverwriteMode.

dragDropOverwriteMode : bool

Diese Eigenschaft bestimmt das Verhalten der Ansicht beim Ziehen und Ablegen

Wenn ihr Wert true ist, überschreiben die ausgewählten Daten beim Ablegen die vorhandenen Elementdaten, während das Verschieben der Daten das Element löscht. Wenn ihr Wert false ist, werden die ausgewählten Daten als neues Element eingefügt, wenn die Daten abgelegt werden. Wenn die Daten verschoben werden, wird das Element ebenfalls entfernt.

Der Standardwert ist false, wie bei den Unterklassen QListView und QTreeView. In der Unterklasse QTableView wurde die Eigenschaft dagegen auf true gesetzt.

Hinweis: Dies ist nicht dazu gedacht, das Überschreiben von Elementen zu verhindern. Die Implementierung von flags() des Modells sollte dies tun, indem sie nicht Qt::ItemIsDropEnabled zurückgibt.

Zugriffsfunktionen:

bool dragDropOverwriteMode() const
void setDragDropOverwriteMode(bool overwrite)

Siehe auch dragDropMode.

dragEnabled : bool

Diese Eigenschaft gibt an, ob die Ansicht das Ziehen ihrer eigenen Elemente unterstützt.

Zugriffsfunktionen:

bool dragEnabled() const
void setDragEnabled(bool enable)

Siehe auch showDropIndicator, DragDropMode, dragDropOverwriteMode, und acceptDrops.

editTriggers : EditTriggers

Diese Eigenschaft gibt an, welche Aktionen die Artikelbearbeitung auslösen.

Bei dieser Eigenschaft handelt es sich um eine Auswahl der von EditTrigger definierten Flags, die mit dem Operator OR kombiniert werden. Die Ansicht leitet die Bearbeitung eines Elements nur dann ein, wenn die durchgeführte Aktion in dieser Eigenschaft gesetzt ist.

Zugriffsfunktionen:

QAbstractItemView::EditTriggers editTriggers() const
void setEditTriggers(QAbstractItemView::EditTriggers triggers)

horizontalScrollMode : ScrollMode

wie die Ansicht ihren Inhalt in horizontaler Richtung scrollt

Diese Eigenschaft steuert, wie die Ansicht ihren Inhalt in horizontaler Richtung scrollt. Das Scrollen kann entweder pro Pixel oder pro Element erfolgen. Der Standardwert stammt aus dem Stil über den QStyle::SH_ItemView_ScrollMode style hint.

Zugriffsfunktionen:

QAbstractItemView::ScrollMode horizontalScrollMode() const
void setHorizontalScrollMode(QAbstractItemView::ScrollMode mode)
void resetHorizontalScrollMode()

iconSize : QSize

Diese Eigenschaft bestimmt die Größe der Symbole der Elemente

Wird diese Eigenschaft bei sichtbarer Ansicht eingestellt, werden die Elemente neu angeordnet.

Zugriffsfunktionen:

QSize iconSize() const
void setIconSize(const QSize &size)

Benachrichtigungssignal:

void iconSizeChanged(const QSize &size)

selectionBehavior : SelectionBehavior

Diese Eigenschaft gibt an, welches Auswahlverhalten die Ansicht verwendet

Diese Eigenschaft gibt an, ob die Auswahl in Form von einzelnen Elementen, Zeilen oder Spalten erfolgt.

Zugriffsfunktionen:

QAbstractItemView::SelectionBehavior selectionBehavior() const
void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)

Siehe auch SelectionMode und SelectionBehavior.

selectionMode : SelectionMode

Diese Eigenschaft legt fest, in welchem Auswahlmodus die Ansicht arbeitet

Diese Eigenschaft steuert, ob der Benutzer ein oder mehrere Elemente auswählen kann und ob die Auswahl bei der Auswahl mehrerer Elemente ein kontinuierlicher Bereich von Elementen sein muss.

Zugriffsfunktionen:

QAbstractItemView::SelectionMode selectionMode() const
void setSelectionMode(QAbstractItemView::SelectionMode mode)

Siehe auch SelectionMode und SelectionBehavior.

showDropIndicator : bool

Diese Eigenschaft legt fest, ob der Drop-Indikator beim Ziehen und Ablegen von Elementen angezeigt wird.

Zugriffsfunktionen:

bool showDropIndicator() const
void setDropIndicatorShown(bool enable)

Siehe auch dragEnabled, DragDropMode, dragDropOverwriteMode, und acceptDrops.

tabKeyNavigation : bool

Diese Eigenschaft gibt an, ob die Elementnavigation mit Tab und Backtab aktiviert ist.

Zugriffsfunktionen:

bool tabKeyNavigation() const
void setTabKeyNavigation(bool enable)

textElideMode : Qt::TextElideMode

Diese Eigenschaft enthält die Position des "..." im ausgelassenen Text.

Der Standardwert für alle Artikelansichten ist Qt::ElideRight.

Zugriffsfunktionen:

Qt::TextElideMode textElideMode() const
void setTextElideMode(Qt::TextElideMode mode)

verticalScrollMode : ScrollMode

wie die Ansicht ihren Inhalt in vertikaler Richtung scrollt

Diese Eigenschaft steuert, wie die Ansicht ihren Inhalt vertikal scrollt. Das Scrollen kann entweder pro Pixel oder pro Element erfolgen. Der Standardwert kommt aus dem Stil über den QStyle::SH_ItemView_ScrollMode style hint.

Zugriffsfunktionen:

QAbstractItemView::ScrollMode verticalScrollMode() const
void setVerticalScrollMode(QAbstractItemView::ScrollMode mode)
void resetVerticalScrollMode()

Dokumentation der Mitgliedsfunktionen

[explicit] QAbstractItemView::QAbstractItemView(QWidget *parent = nullptr)

Konstruiert eine abstrakte Elementansicht mit der angegebenen parent.

[virtual noexcept] QAbstractItemView::~QAbstractItemView()

Zerstört die Aussicht.

[signal] void QAbstractItemView::activated(const QModelIndex &index)

Dieses Signal wird ausgegeben, wenn das durch index angegebene Element durch den Benutzer aktiviert wird. Wie Elemente aktiviert werden, hängt von der Plattform ab, z. B. durch Einfach- oder Doppelklick auf das Element oder durch Drücken der Return- oder Enter-Taste, wenn das Element aktuell ist.

Siehe auch clicked(), doubleClicked(), entered(), und pressed().

[slot] void QAbstractItemView::clearSelection()

Deselektiert alle ausgewählten Elemente. Der aktuelle Index wird nicht geändert.

Siehe auch setSelection() und selectAll().

[signal] void QAbstractItemView::clicked(const QModelIndex &index)

Dieses Signal wird ausgegeben, wenn eine Maustaste mit der linken Maustaste angeklickt wird. Das Element, auf das die Maus geklickt wurde, wird durch index angegeben. Das Signal wird nur ausgegeben, wenn der Index gültig ist.

Siehe auch activated(), doubleClicked(), entered(), und pressed().

[virtual protected slot] void QAbstractItemView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)

Schließt die angegebene editor und gibt sie frei. Mit hint wird angegeben, wie die Ansicht auf das Ende des Bearbeitungsvorgangs reagieren soll. Zum Beispiel kann der Hinweis darauf hinweisen, dass das nächste Element in der Ansicht zur Bearbeitung geöffnet werden soll.

Siehe auch edit() und commitData().

void QAbstractItemView::closePersistentEditor(const QModelIndex &index)

Schließt den persistenten Editor für das Objekt unter der angegebenen Adresse index.

Siehe auch openPersistentEditor() und isPersistentEditorOpen().

[virtual protected slot] void QAbstractItemView::commitData(QWidget *editor)

Übertragen Sie die Daten in editor in das Modell.

Siehe auch closeEditor().

[virtual protected slot] void QAbstractItemView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

Dieser Slot wird aufgerufen, wenn ein neues Element das aktuelle Element wird. Das vorherige aktuelle Element wird durch den Index previous angegeben, das neue Element durch den Index current.

Wenn Sie über Änderungen an Elementen informiert werden möchten, lesen Sie das Signal dataChanged().

QModelIndex QAbstractItemView::currentIndex() const

Gibt den Modellindex des aktuellen Elements zurück.

Siehe auch setCurrentIndex().

[virtual protected slot] void QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())

Dieser Slot wird aufgerufen, wenn Elemente mit dem angegebenen roles im Modell geändert werden. Die geänderten Elemente sind diejenigen von topLeft bis einschließlich bottomRight. Wenn nur ein Element geändert wird, ist topLeft == bottomRight.

Die roles, die geändert wurden, können entweder ein leerer Container sein (was bedeutet, dass sich alles geändert hat) oder ein nicht leerer Container mit der Teilmenge der Rollen, die sich geändert haben.

Hinweis: : Qt::ToolTipRole wird von dataChanged() in den von Qt bereitgestellten Ansichten nicht beachtet.

[protected] QPoint QAbstractItemView::dirtyRegionOffset() const

Gibt den Offset der verschmutzten Bereiche in der Ansicht zurück.

Wenn Sie scrollDirtyRegion() verwenden und paintEvent() in einer Unterklasse von QAbstractItemView implementieren, sollten Sie den vom Paint-Ereignis angegebenen Bereich mit dem von dieser Funktion zurückgegebenen Offset übersetzen.

Siehe auch scrollDirtyRegion() und setDirtyRegion().

[signal] void QAbstractItemView::doubleClicked(const QModelIndex &index)

Dieses Signal wird ausgegeben, wenn eine Maustaste doppelt angeklickt wird. Das Element, auf das die Maus doppelt geklickt wurde, wird durch index angegeben. Das Signal wird nur ausgegeben, wenn der Index gültig ist.

Siehe auch clicked() und activated().

[override virtual protected] void QAbstractItemView::dragEnterEvent(QDragEnterEvent *event)

Reimplements: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).

Diese Funktion wird mit dem angegebenen event aufgerufen, wenn eine Drag&Drop-Operation das Widget betritt. Wenn das Ziehen über eine gültige Abwurfstelle erfolgt (z.B. über ein Element, das Abwürfe akzeptiert), wird das Ereignis akzeptiert; andernfalls wird es ignoriert.

Siehe auch dropEvent() und startDrag().

[override virtual protected] void QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event)

Reimplements: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).

Diese Funktion wird aufgerufen, wenn das gezogene Element die Ansicht verlässt. Die Seite event beschreibt den Zustand des Drag&Drop-Vorgangs.

[override virtual protected] void QAbstractItemView::dragMoveEvent(QDragMoveEvent *event)

Reimplements: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).

Diese Funktion wird während einer Drag&Drop-Operation über das Widget kontinuierlich mit dem angegebenen event aufgerufen. Sie kann dazu führen, dass die Ansicht gescrollt wird, wenn der Benutzer z.B. eine Auswahl an den rechten oder unteren Rand der Ansicht zieht. In diesem Fall wird das Ereignis akzeptiert, andernfalls wird es ignoriert.

Siehe auch dropEvent() und startDrag().

[override virtual protected] void QAbstractItemView::dropEvent(QDropEvent *event)

Reimplements: QAbstractScrollArea::dropEvent(QDropEvent *event).

Diese Funktion wird mit der angegebenen event aufgerufen, wenn ein Drop-Ereignis über dem Widget auftritt. Wenn das Modell die gerade Position akzeptiert, wird das Drop-Ereignis angenommen; andernfalls wird es ignoriert.

Siehe auch startDrag().

[protected] QAbstractItemView::DropIndicatorPosition QAbstractItemView::dropIndicatorPosition() const

Gibt die Position des Abwurfindikators in Bezug auf das nächstgelegene Element zurück.

[slot] void QAbstractItemView::edit(const QModelIndex &index)

Beginnt mit der Bearbeitung des Elements, das dem angegebenen index entspricht, sofern es bearbeitbar ist.

Beachten Sie, dass diese Funktion den aktuellen Index nicht ändert. Da der aktuelle Index die nächsten und vorherigen zu bearbeitenden Elemente definiert, kann es vorkommen, dass die Tastaturnavigation nicht wie erwartet funktioniert. Um ein einheitliches Navigationsverhalten zu gewährleisten, rufen Sie setCurrentIndex() vor dieser Funktion mit demselben Modellindex auf.

Siehe auch QModelIndex::flags().

[virtual protected] bool QAbstractItemView::edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)

Beginnt mit der Bearbeitung des Elements unter index, erstellt bei Bedarf einen Editor und gibt true zurück, wenn die Ansicht State jetzt EditingState ist; andernfalls wird false zurückgegeben.

Die Aktion, die den Bearbeitungsprozess ausgelöst hat, wird durch trigger beschrieben, und das zugehörige Ereignis wird durch event angegeben.

Die Bearbeitung kann erzwungen werden, indem die trigger als QAbstractItemView::AllEditTriggers angegeben wird.

Siehe auch closeEditor().

[virtual protected slot] void QAbstractItemView::editorDestroyed(QObject *editor)

Diese Funktion wird aufgerufen, wenn die angegebene editor zerstört wurde.

Siehe auch closeEditor().

[signal] void QAbstractItemView::entered(const QModelIndex &index)

Dieses Signal wird ausgegeben, wenn der Mauszeiger das durch index angegebene Element erreicht. Damit diese Funktion funktioniert, muss die Mausverfolgung aktiviert sein.

Siehe auch viewportEntered(), activated(), clicked(), doubleClicked(), und pressed().

[override virtual protected] bool QAbstractItemView::event(QEvent *event)

Reimplements: QAbstractScrollArea::event(QEvent *Event).

[override virtual protected] bool QAbstractItemView::eventFilter(QObject *object, QEvent *event)

Reimplements: QObject::eventFilter(QObject *watched, QEvent *event).

[protected] void QAbstractItemView::executeDelayedItemsLayout()

Führt die geplanten Layouts aus, ohne auf den Beginn der Ereignisverarbeitung zu warten.

Siehe auch scheduleDelayedItemsLayout().

[override virtual protected] void QAbstractItemView::focusInEvent(QFocusEvent *event)

Reimplements: QWidget::focusInEvent(QFocusEvent *event).

Diese Funktion wird mit dem angegebenen event aufgerufen, wenn das Widget den Fokus erhält. Standardmäßig wird das Ereignis ignoriert.

Siehe auch setFocus() und focusOutEvent().

[override virtual protected] bool QAbstractItemView::focusNextPrevChild(bool next)

Reimplements: QWidget::focusNextPrevChild(bool next).

[override virtual protected] void QAbstractItemView::focusOutEvent(QFocusEvent *event)

Reimplements: QWidget::focusOutEvent(QFocusEvent *event).

Diese Funktion wird mit dem angegebenen event aufgerufen, wenn das Widget den Fokus verliert. Standardmäßig wird das Ereignis ignoriert.

Siehe auch clearFocus() und focusInEvent().

[pure virtual protected] int QAbstractItemView::horizontalOffset() const

Gibt den horizontalen Versatz der Ansicht zurück.

In der Basisklasse ist dies eine rein virtuelle Funktion.

Siehe auch verticalOffset().

[pure virtual] QModelIndex QAbstractItemView::indexAt(const QPoint &point) const

Gibt den Modellindex des Elements an den Ansichtsfensterkoordinaten point zurück.

In der Basisklasse ist dies eine rein virtuelle Funktion.

Siehe auch visualRect().

QWidget *QAbstractItemView::indexWidget(const QModelIndex &index) const

Liefert das Widget für das Element unter der angegebenen Adresse index.

Siehe auch setIndexWidget().

[virtual protected, since 6.0] void QAbstractItemView::initViewItemOption(QStyleOptionViewItem *option) const

Initialisieren Sie die Struktur option mit der Palette, der Schriftart, dem Status, den Ausrichtungen usw. der Ansicht.

Hinweis: Implementierungen dieser Methode sollten die version der empfangenen Struktur überprüfen, alle Mitglieder, die der Implementierung bekannt sind, auffüllen und das Versionsmitglied auf die von der Implementierung unterstützte Version setzen, bevor sie zurückkehren.

Diese Funktion wurde in Qt 6.0 eingeführt.

[override virtual protected] void QAbstractItemView::inputMethodEvent(QInputMethodEvent *event)

Reimplements: QWidget::inputMethodEvent(QInputMethodEvent *event).

[override virtual] QVariant QAbstractItemView::inputMethodQuery(Qt::InputMethodQuery query) const

Reimplements: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.

[pure virtual protected] bool QAbstractItemView::isIndexHidden(const QModelIndex &index) const

Gibt true zurück, wenn das Element, auf das die angegebene index verweist, in der Ansicht ausgeblendet ist, andernfalls gibt sie false zurück.

Ausblenden ist eine ansichtsspezifische Funktion. Zum Beispiel kann in TableView eine Spalte als ausgeblendet markiert werden oder eine Zeile in der TreeView.

In der Basisklasse ist dies eine rein virtuelle Funktion.

bool QAbstractItemView::isPersistentEditorOpen(const QModelIndex &index) const

Gibt zurück, ob für das Element mit dem Index index ein persistenter Editor geöffnet ist.

Siehe auch openPersistentEditor() und closePersistentEditor().

QAbstractItemDelegate *QAbstractItemView::itemDelegate() const

Gibt den von dieser Ansicht und diesem Modell verwendeten Elementdelegaten zurück. Es handelt sich entweder um den mit setItemDelegate() festgelegten Delegaten oder um den Standarddelegaten.

Siehe auch setItemDelegate().

QAbstractItemDelegate *QAbstractItemView::itemDelegateForColumn(int column) const

Gibt den von dieser Ansicht und diesem Modell verwendeten Elementdelegaten für den angegebenen column zurück. Sie können itemDelegate() aufrufen, um einen Zeiger auf den aktuellen Delegaten für einen gegebenen Index zu erhalten.

Siehe auch setItemDelegateForColumn(), itemDelegateForRow(), und itemDelegate().

[virtual, since 6.0] QAbstractItemDelegate *QAbstractItemView::itemDelegateForIndex(const QModelIndex &index) const

Liefert den von dieser Ansicht und diesem Modell verwendeten Elementdelegaten für die angegebene index.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch setItemDelegate(), setItemDelegateForRow(), und setItemDelegateForColumn().

QAbstractItemDelegate *QAbstractItemView::itemDelegateForRow(int row) const

Gibt den von dieser Ansicht und diesem Modell für den angegebenen row verwendeten Elementdelegaten zurück, oder nullptr wenn kein Delegat zugewiesen wurde. Sie können itemDelegate() aufrufen, um einen Zeiger auf den aktuellen Delegaten für einen gegebenen Index zu erhalten.

Siehe auch setItemDelegateForRow(), itemDelegateForColumn(), und setItemDelegate().

[override virtual protected] void QAbstractItemView::keyPressEvent(QKeyEvent *event)

Reimplements: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).

Diese Funktion wird mit der angegebenen event aufgerufen, wenn ein Tastenereignis an das Widget gesendet wird. Die Standardimplementierung behandelt grundlegende Cursorbewegungen, z.B. Up, Down, Left, Right, Home, PageUp und PageDown; das Signal activated() wird ausgegeben, wenn der aktuelle Index gültig ist und die Aktivierungstaste gedrückt wird (z.B. Enter oder Return, abhängig von der Plattform). Bei dieser Funktion wird die Bearbeitung durch Tastendruck eingeleitet, z.B. wenn F2 gedrückt wird.

Siehe auch edit(), moveCursor(), keyboardSearch(), und tabKeyNavigation.

[virtual] void QAbstractItemView::keyboardSearch(const QString &search)

Bewegt sich zu dem Element, das der Zeichenfolge search am besten entspricht, und wählt es aus. Wenn kein Element gefunden wird, geschieht nichts.

In der Standardimplementierung wird die Suche zurückgesetzt, wenn search leer ist oder das Zeitintervall seit der letzten Suche QApplication::keyboardInputInterval() überschritten hat.

QAbstractItemModel *QAbstractItemView::model() const

Gibt das Modell zurück, das diese Ansicht präsentiert.

Siehe auch setModel().

[override virtual protected] void QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)

Reimplements: QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).

Diese Funktion wird mit dem angegebenen event aufgerufen, wenn eine Maustaste innerhalb des Widgets doppelt geklickt wird. Wenn der Doppelklick auf ein gültiges Element erfolgt, gibt sie das Signal doubleClicked() aus und ruft edit() für das Element auf.

[override virtual protected] void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)

Reimplements: QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).

Diese Funktion wird mit der angegebenen event aufgerufen, wenn ein Mausbewegungsereignis an das Widget gesendet wird. Wenn eine Auswahl im Gange ist und neue Elemente darüber bewegt werden, wird die Auswahl erweitert; wenn ein Ziehen im Gange ist, wird sie fortgesetzt.

[override virtual protected] void QAbstractItemView::mousePressEvent(QMouseEvent *event)

Reimplements: QAbstractScrollArea::mousePressEvent(QMouseEvent *e).

Diese Funktion wird mit der angegebenen event aufgerufen, wenn eine Maustaste gedrückt wird, während sich der Cursor innerhalb des Widgets befindet. Wenn ein gültiges Element gedrückt wird, wird es zum aktuellen Element gemacht. Diese Funktion gibt das Signal pressed() aus.

[override virtual protected] void QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)

Reimplements: QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).

Diese Funktion wird mit der angegebenen event aufgerufen, wenn eine Maustaste losgelassen wird, nachdem ein Mausdruckereignis auf dem Widget stattgefunden hat. Wenn ein Benutzer die Maus innerhalb Ihres Widgets drückt und dann die Maus an eine andere Stelle zieht, bevor er die Maustaste loslässt, empfängt Ihr Widget das Loslass-Ereignis. Die Funktion gibt das Signal clicked() aus, wenn ein Element gedrückt wurde.

[pure virtual protected] QModelIndex QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)

Gibt ein QModelIndex Objekt zurück, das auf das nächste Objekt in der Ansicht verweist, basierend auf dem angegebenen cursorAction und den durch modifiers spezifizierten Tastaturmodifikatoren.

In der Basisklasse ist dies eine rein virtuelle Funktion.

void QAbstractItemView::openPersistentEditor(const QModelIndex &index)

Öffnet einen dauerhaften Editor für das Element unter der angegebenen Adresse index. Wenn kein Editor existiert, erstellt der Delegierte einen neuen Editor.

Siehe auch closePersistentEditor() und isPersistentEditorOpen().

[signal] void QAbstractItemView::pressed(const QModelIndex &index)

Dieses Signal wird ausgesendet, wenn eine Maustaste gedrückt wird. Das Element, auf das die Maus gedrückt wurde, wird durch index angegeben. Das Signal wird nur ausgegeben, wenn der Index gültig ist.

Verwenden Sie die Funktion QGuiApplication::mouseButtons(), um den Zustand der Maustasten abzufragen.

Siehe auch activated(), clicked(), doubleClicked(), und entered().

[virtual slot] void QAbstractItemView::reset()

Setzt den internen Zustand der Ansicht zurück.

Achtung! Diese Funktion setzt geöffnete Editoren, Bildlaufleistenpositionen, Auswahlen usw. zurück. Bestehende Änderungen werden nicht übernommen. Wenn Sie Ihre Änderungen beim Zurücksetzen der Ansicht speichern möchten, können Sie diese Funktion neu implementieren, Ihre Änderungen festschreiben und dann die Implementierung der Oberklasse aufrufen.

[override virtual protected] void QAbstractItemView::resizeEvent(QResizeEvent *event)

Reimplements: QAbstractScrollArea::resizeEvent(QResizeEvent *event).

Diese Funktion wird mit der angegebenen event aufgerufen, wenn ein Größenänderungsereignis an das Widget gesendet wird.

Siehe auch QWidget::resizeEvent().

QModelIndex QAbstractItemView::rootIndex() const

Gibt den Modellindex des Wurzelelements des Modells zurück. Das Stammelement ist das übergeordnete Element der Toplevel-Elemente der Ansicht. Die Wurzel kann ungültig sein.

Siehe auch setRootIndex().

[virtual protected slot] void QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)

Dieser Slot wird aufgerufen, wenn Zeilen entfernt werden sollen. Die gelöschten Zeilen sind die Zeilen unter dem angegebenen parent von start bis einschließlich end.

Siehe auch rowsInserted().

[virtual protected slot] void QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end)

Dieser Slot wird aufgerufen, wenn Zeilen eingefügt werden. Die neuen Zeilen sind die unter dem angegebenen parent von start bis einschließlich end. Die Implementierung der Basisklasse ruft fetchMore() für das Modell auf, um nach weiteren Daten zu suchen.

Siehe auch rowsAboutToBeRemoved().

[protected] void QAbstractItemView::scheduleDelayedItemsLayout()

Plant ein Layout der Elemente in der Ansicht, das ausgeführt wird, wenn die Ereignisverarbeitung beginnt.

Auch wenn scheduleDelayedItemsLayout() mehrmals vor der Ereignisverarbeitung aufgerufen wird, führt die Ansicht das Layout nur einmal aus.

Siehe auch executeDelayedItemsLayout().

[protected] void QAbstractItemView::scrollDirtyRegion(int dx, int dy)

Bereitet die Ansicht für das Scrollen um (dx,dy) Pixel vor, indem die verschmutzten Bereiche in die entgegengesetzte Richtung verschoben werden. Sie müssen diese Funktion nur aufrufen, wenn Sie ein scrollendes Ansichtsfenster in Ihrer View-Unterklasse implementieren.

Wenn Sie scrollContentsBy() in einer Unterklasse von QAbstractItemView implementieren, rufen Sie diese Funktion auf, bevor Sie QWidget::scroll() für das Ansichtsfenster aufrufen. Alternativ können Sie auch einfach update() aufrufen.

Siehe auch scrollContentsBy(), dirtyRegionOffset(), und setDirtyRegion().

[pure virtual] void QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)

Scrollt die Ansicht, falls erforderlich, um sicherzustellen, dass das Element auf index sichtbar ist. Die Ansicht wird versuchen, das Element entsprechend der angegebenen hint zu positionieren.

In der Basisklasse ist dies eine rein virtuelle Funktion.

[slot] void QAbstractItemView::scrollToBottom()

Scrollt die Ansicht nach unten.

Siehe auch scrollTo() und scrollToTop().

[slot] void QAbstractItemView::scrollToTop()

Blättert die Ansicht nach oben.

Siehe auch scrollTo() und scrollToBottom().

[virtual slot] void QAbstractItemView::selectAll()

Wählt alle Elemente in der Ansicht aus. Diese Funktion verwendet beim Auswählen das in der Ansicht eingestellte Auswahlverhalten.

Siehe auch setSelection(), selectedIndexes(), und clearSelection().

[virtual protected] QModelIndexList QAbstractItemView::selectedIndexes() const

Diese Komfortfunktion gibt eine Liste aller ausgewählten und nicht ausgeblendeten Elementindizes in der Ansicht zurück. Die Liste enthält keine Duplikate und ist nicht sortiert.

Siehe auch QItemSelectionModel::selectedIndexes().

[virtual protected slot] void QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

Dieser Slot wird aufgerufen, wenn die Auswahl geändert wird. Die vorherige Auswahl (die leer sein kann) wird durch deselected angegeben, die neue Auswahl durch selected.

Siehe auch setSelection().

[virtual protected] QItemSelectionModel::SelectionFlags QAbstractItemView::selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const

Gibt die SelectionFlags zurück, die bei der Aktualisierung eines Auswahlmodells für das angegebene index verwendet werden sollen. Das Ergebnis ist abhängig vom aktuellen selectionMode() und vom Benutzereingabeereignis event, das nullptr sein kann.

Reimplementieren Sie diese Funktion, um Ihr eigenes Auswahlverhalten zu definieren.

Siehe auch setSelection().

QItemSelectionModel *QAbstractItemView::selectionModel() const

Gibt das aktuelle Auswahlmodell zurück.

Siehe auch setSelectionModel() und selectedIndexes().

[slot] void QAbstractItemView::setCurrentIndex(const QModelIndex &index)

Setzt das aktuelle Element auf das Element unter index.

Sofern der aktuelle Auswahlmodus nicht NoSelection ist, wird das Element ebenfalls ausgewählt. Beachten Sie, dass diese Funktion auch die Startposition für alle neuen Auswahlen des Benutzers aktualisiert.

Um ein Element als aktuelles Element zu setzen, ohne es auszuwählen, rufen Sie

selectionModel()->setCurrentIndex(index, QItemSelectionModel::NoUpdate);

Siehe auch currentIndex(), currentChanged(), und selectionMode.

[protected] void QAbstractItemView::setDirtyRegion(const QRegion &region)

Markiert die angegebene region als schmutzig und plant ihre Aktualisierung. Sie müssen diese Funktion nur aufrufen, wenn Sie Ihre eigene View-Unterklasse implementieren.

Siehe auch scrollDirtyRegion() und dirtyRegionOffset().

void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget)

Setzt das angegebene widget auf das Element am angegebenen index und übergibt den Besitz des Widgets an das Ansichtsfenster.

Wenn index ungültig ist (z.B. wenn Sie den Wurzelindex übergeben), wird diese Funktion nichts tun.

Die Eigenschaft autoFillBackground des angegebenen widget muss auf true gesetzt werden, andernfalls wird der Hintergrund des Widgets transparent sein und sowohl die Modelldaten als auch das Element am angegebenen index zeigen.

Hinweis: Die Ansicht übernimmt das Eigentum an widget. Das bedeutet, wenn das Index-Widget A durch das Index-Widget B ersetzt wird, wird das Index-Widget A gelöscht. Im folgenden Codeschnipsel wird zum Beispiel das Objekt QLineEdit gelöscht.

setIndexWidget(index, new QLineEdit);
...
setIndexWidget(index, new QTextEdit);

Diese Funktion sollte nur verwendet werden, um statische Inhalte innerhalb des sichtbaren Bereichs anzuzeigen, der einem Datenelement entspricht. Wenn Sie benutzerdefinierte dynamische Inhalte anzeigen oder ein benutzerdefiniertes Editor-Widget implementieren möchten, sollten Sie stattdessen die Unterklasse QStyledItemDelegate verwenden.

Siehe auch indexWidget() und Delegate Classes.

void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)

Legt den Elementdelegierten für diese Ansicht und ihr Modell auf delegate fest. Dies ist nützlich, wenn Sie die vollständige Kontrolle über die Bearbeitung und Anzeige von Elementen haben möchten.

Jeder vorhandene Delegat wird entfernt, aber nicht gelöscht. QAbstractItemView übernimmt nicht das Eigentum an delegate.

Warnung: Sie sollten nicht dieselbe Instanz eines Delegaten in verschiedenen Ansichten verwenden. Dies kann zu inkorrektem oder unintuitivem Editierverhalten führen, da jede Ansicht, die mit einem bestimmten Delegaten verbunden ist, das closeEditor() Signal erhält und versucht, auf einen bereits geschlossenen Editor zuzugreifen, ihn zu ändern oder zu schließen.

Siehe auch itemDelegate().

void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)

Legt das angegebene Element delegate fest, das von dieser Ansicht und diesem Modell für das angegebene column verwendet wird. Alle Elemente auf column werden von delegate gezeichnet und verwaltet, anstatt den Standarddelegierten zu verwenden (d.h. itemDelegate()).

Jeder existierende Spaltendelegat für column wird entfernt, aber nicht gelöscht. QAbstractItemView übernimmt nicht den Besitz von delegate.

Hinweis: Wenn ein Delegat sowohl einer Zeile als auch einer Spalte zugewiesen wurde, hat der Zeilendelegat Vorrang und verwaltet den sich überschneidenden Zellindex.

Warnung: Sie sollten nicht dieselbe Instanz eines Delegaten in verschiedenen Ansichten verwenden. Dies kann zu falschem oder unintuitivem Editierverhalten führen, da jede Ansicht, die mit einem bestimmten Delegaten verbunden ist, das Signal closeEditor() erhalten kann und versucht, auf einen bereits geschlossenen Editor zuzugreifen, ihn zu ändern oder zu schließen.

Siehe auch itemDelegateForColumn(), setItemDelegateForRow(), und itemDelegate().

void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)

Legt das angegebene Element delegate fest, das von dieser Ansicht und diesem Modell für das angegebene row verwendet wird. Alle Elemente auf row werden von delegate gezeichnet und verwaltet, anstatt den Standarddelegierten zu verwenden (d.h. itemDelegate()).

Jeder existierende Zeilendelegat für row wird entfernt, aber nicht gelöscht. QAbstractItemView übernimmt nicht den Besitz von delegate.

Hinweis: Wenn ein Delegat sowohl einer Zeile als auch einer Spalte zugewiesen wurde, hat der Zeilendelegat (d. h. dieser Delegat) Vorrang und verwaltet den sich überschneidenden Zellindex.

Warnung: Sie sollten nicht die gleiche Instanz eines Delegaten zwischen Ansichten teilen. Dies kann zu falschem oder unintuitivem Editierverhalten führen, da jede Ansicht, die mit einem bestimmten Delegaten verbunden ist, das Signal closeEditor() erhalten kann und versucht, auf einen bereits geschlossenen Editor zuzugreifen, ihn zu ändern oder zu schließen.

Siehe auch itemDelegateForRow(), setItemDelegateForColumn(), und itemDelegate().

[virtual] void QAbstractItemView::setModel(QAbstractItemModel *model)

Setzt die model für die zu präsentierende Ansicht.

Diese Funktion erstellt und setzt ein neues Selektionsmodell und ersetzt alle Modelle, die zuvor mit setSelectionModel() gesetzt wurden. Das alte Selektionsmodell wird jedoch nicht gelöscht, da es möglicherweise von mehreren Ansichten gemeinsam genutzt wird. Wir empfehlen Ihnen, das alte Selektionsmodell zu löschen, wenn es nicht mehr benötigt wird. Dies geschieht mit folgendem Code:

QItemSelectionModel *m = view->selectionModel();
view->setModel(new model);
delete m;

Wenn sowohl das alte Modell als auch das alte Selektionsmodell keine Eltern haben oder wenn ihre Eltern langlebige Objekte sind, ist es möglicherweise besser, ihre deleteLater()-Funktionen aufzurufen, um sie explizit zu löschen.

Die Ansicht ist nur dann Eigentümer des Modells, wenn sie das Elternobjekt des Modells ist, da das Modell von vielen verschiedenen Ansichten gemeinsam genutzt werden kann.

Siehe auch model(), selectionModel(), und setSelectionModel().

[virtual slot] void QAbstractItemView::setRootIndex(const QModelIndex &index)

Setzt das Wurzelelement auf das Element unter der angegebenen Adresse index.

Siehe auch rootIndex().

[pure virtual protected] void QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)

Wendet die Auswahl flags auf die Elemente an, die sich im Rechteck rect befinden oder von diesem berührt werden.

Bei der Implementierung Ihrer eigenen Elementansicht sollte setSelection selectionModel()->select(selection, flags) aufrufen, wobei selection entweder ein leeres QModelIndex oder ein QItemSelection ist, das alle Elemente enthält, die in rect enthalten sind.

Siehe auch selectionCommand() und selectedIndexes().

[virtual] void QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)

Setzt das aktuelle Auswahlmodell auf das angegebene selectionModel.

Beachten Sie, dass, wenn Sie setModel() nach dieser Funktion aufrufen, das angegebene selectionModel durch ein von der Ansicht erstelltes Modell ersetzt wird.

Hinweis: Es obliegt der Anwendung, das alte Auswahlmodell zu löschen, wenn es nicht mehr benötigt wird, d. h. wenn es nicht von anderen Ansichten verwendet wird. Dies geschieht automatisch, wenn das übergeordnete Objekt gelöscht wird. Hat es jedoch kein übergeordnetes Objekt oder handelt es sich bei dem übergeordneten Objekt um ein langlebiges Objekt, kann es besser sein, dessen Funktion deleteLater() aufzurufen, um es explizit zu löschen.

Siehe auch selectionModel(), setModel(), und clearSelection().

[protected] void QAbstractItemView::setState(QAbstractItemView::State state)

Setzt den Zustand der Artikelansicht auf den angegebenen state.

Siehe auch state().

[virtual] int QAbstractItemView::sizeHintForColumn(int column) const

Gibt den Größenhinweis für die Breite des angegebenen column zurück oder -1, wenn es kein Modell gibt.

Diese Funktion wird in Ansichten mit einer horizontalen Kopfzeile verwendet, um den Größenhinweis für einen Kopfzeilenabschnitt basierend auf dem Inhalt der angegebenen column zu finden.

Siehe auch sizeHintForRow().

QSize QAbstractItemView::sizeHintForIndex(const QModelIndex &index) const

Gibt den Größenhinweis für das Element mit dem angegebenen index oder eine ungültige Größe für ungültige Indizes zurück.

Siehe auch sizeHintForRow() und sizeHintForColumn().

[virtual] int QAbstractItemView::sizeHintForRow(int row) const

Gibt den Größenhinweis für das angegebene row zurück oder -1, wenn es kein Modell gibt.

Die zurückgegebene Höhe wird anhand der Größenhinweise der Elemente des angegebenen row berechnet, d. h. der zurückgegebene Wert ist die maximale Höhe der Elemente. Beachten Sie, dass Sie zur Steuerung der Höhe einer Zeile die Funktion QAbstractItemDelegate::sizeHint() neu implementieren müssen.

Diese Funktion wird in Ansichten mit einer vertikalen Kopfzeile verwendet, um den Größenhinweis für einen Kopfzeilenabschnitt basierend auf dem Inhalt der angegebenen row zu finden.

Siehe auch sizeHintForColumn().

[virtual protected] void QAbstractItemView::startDrag(Qt::DropActions supportedActions)

Startet einen Drag durch Aufruf von drag->exec() unter Verwendung der angegebenen supportedActions.

[protected] QAbstractItemView::State QAbstractItemView::state() const

Gibt den Zustand der Artikelansicht zurück.

Siehe auch setState().

[override virtual protected] void QAbstractItemView::timerEvent(QTimerEvent *event)

Reimplements: QObject::timerEvent(QTimerEvent *event).

Diese Funktion wird mit der angegebenen event aufgerufen, wenn ein Timer-Ereignis an das Widget gesendet wird.

Siehe auch QObject::timerEvent().

[slot] void QAbstractItemView::update(const QModelIndex &index)

Aktualisiert die Fläche, die von der angegebenen index belegt wird.

[virtual protected slot] void QAbstractItemView::updateGeometries()

Aktualisiert die Geometrie der untergeordneten Widgets der Ansicht.

[pure virtual protected] int QAbstractItemView::verticalOffset() const

Gibt den vertikalen Versatz der Ansicht zurück.

In der Basisklasse ist dies eine rein virtuelle Funktion.

Siehe auch horizontalOffset().

[signal] void QAbstractItemView::viewportEntered()

Dieses Signal wird ausgegeben, wenn der Mauszeiger in das Ansichtsfenster eintritt. Damit diese Funktion funktioniert, muss die Mausverfolgung aktiviert sein.

Siehe auch entered().

[override virtual protected] bool QAbstractItemView::viewportEvent(QEvent *event)

Reimplements: QAbstractScrollArea::viewportEvent(QEvent *event).

Diese Funktion wird verwendet, um Tooltips und den "What's This?"-Modus zu behandeln, wenn das angegebene event ein QEvent::ToolTip oder ein QEvent::WhatsThis ist. Sie übergibt alle anderen Ereignisse an den Handler ihrer Basisklasse viewportEvent().

Gibt true zurück, wenn event erkannt und verarbeitet wurde; andernfalls gibt sie false zurück.

[override virtual protected] QSize QAbstractItemView::viewportSizeHint() const

Reimplements: QAbstractScrollArea::viewportSizeHint() const.

[pure virtual] QRect QAbstractItemView::visualRect(const QModelIndex &index) const

Gibt das Rechteck im Ansichtsfenster zurück, das von dem Element unter index eingenommen wird.

Wenn Ihr Element in mehreren Bereichen angezeigt wird, sollte visualRect den primären Bereich zurückgeben, der index enthält, und nicht den gesamten Bereich, den index möglicherweise umfasst, berührt oder zum Zeichnen führt.

In der Basisklasse ist dies eine rein virtuelle Funktion.

Siehe auch indexAt() und visualRegionForSelection().

[pure virtual protected] QRegion QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const

Liefert den Bereich aus dem Ansichtsfenster der Elemente in der angegebenen selection.

In der Basisklasse ist dies eine rein virtuelle Funktion.

Siehe auch visualRect() und selectedIndexes().

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