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 ®ion) |
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 ¤t, 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:
Tasten | Funktionsweise |
---|---|
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+Leertaste | Schaltet die Auswahl des aktuellen Elements um. |
Tabulator/Rückwärts-Tabulator | Wechselt vom aktuellen Element zum nächsten/vorherigen Element. |
Start/Ende | Wählt das erste/letzte Element im Modell aus. |
Seite hoch/Seite runter | Blättert die angezeigten Zeilen um die Anzahl der sichtbaren Zeilen in der Ansicht nach oben/unten. |
Strg+A | Wä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.
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,
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::MoveUp | 0 | Zu dem Element oberhalb des aktuellen Elements wechseln. |
QAbstractItemView::MoveDown | 1 | Zu dem Element unterhalb des aktuellen Elements wechseln. |
QAbstractItemView::MoveLeft | 2 | Verschieben zum Element links vom aktuellen Element. |
QAbstractItemView::MoveRight | 3 | Verschieben zum Element rechts vom aktuellen Element. |
QAbstractItemView::MoveHome | 4 | Verschieben zum Element in der linken oberen Ecke. |
QAbstractItemView::MoveEnd | 5 | Verschieben zum Element in der rechten unteren Ecke. |
QAbstractItemView::MovePageUp | 6 | Verschieben um eine Seite nach oben über das aktuelle Element. |
QAbstractItemView::MovePageDown | 7 | Verschieben um eine Seite nach unten unter das aktuelle Element. |
QAbstractItemView::MoveNext | 8 | Verschieben zum Element nach dem aktuellen Element. |
QAbstractItemView::MovePrevious | 9 | Wechseln 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
).
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::NoDragDrop | 0 | Unterstützt kein Ziehen oder Ablegen. |
QAbstractItemView::DragOnly | 1 | Die Ansicht unterstützt das Ziehen ihrer eigenen Elemente |
QAbstractItemView::DropOnly | 2 | Die Ansicht akzeptiert das Ablegen |
QAbstractItemView::DragDrop | 3 | Die Ansicht unterstützt sowohl das Ziehen als auch das Fallenlassen |
QAbstractItemView::InternalMove | 4 | Die 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:
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::OnItem | 0 | Das Element wird auf dem Index abgelegt. |
QAbstractItemView::AboveItem | 1 | Das Element wird oberhalb des Indexes abgelegt. |
QAbstractItemView::BelowItem | 2 | Das Element wird unterhalb des Indexes abgelegt. |
QAbstractItemView::OnViewport | 3 | Das 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.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::NoEditTriggers | 0 | Keine Bearbeitung möglich. |
QAbstractItemView::CurrentChanged | 1 | Die Bearbeitung beginnt, wenn sich das aktuelle Element ändert. |
QAbstractItemView::DoubleClicked | 2 | Die Bearbeitung beginnt, wenn ein Element doppelt angeklickt wird. |
QAbstractItemView::SelectedClicked | 4 | Die Bearbeitung beginnt, wenn Sie auf ein bereits ausgewähltes Element klicken. |
QAbstractItemView::EditKeyPressed | 8 | Die Bearbeitung beginnt, wenn die Plattform-Bearbeitungstaste über einem Element gedrückt wird. |
QAbstractItemView::AnyKeyPressed | 16 | Die Bearbeitung beginnt, wenn eine beliebige Taste über einem Element gedrückt wird. |
QAbstractItemView::AllEditTriggers | 31 | Die 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
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::EnsureVisible | 0 | Blättern, um sicherzustellen, dass das Element sichtbar ist. |
QAbstractItemView::PositionAtTop | 1 | Blättern, um das Element am oberen Rand des Ansichtsfensters zu positionieren. |
QAbstractItemView::PositionAtBottom | 2 | Scrollen, um das Element am unteren Rand des Ansichtsfensters zu positionieren. |
QAbstractItemView::PositionAtCenter | 3 | Blä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.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::ScrollPerItem | 0 | Die Ansicht scrollt den Inhalt um jeweils ein Element. |
QAbstractItemView::ScrollPerPixel | 1 | Die Ansicht scrollt den Inhalt jeweils um ein Pixel. |
enum QAbstractItemView::SelectionBehavior
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::SelectItems | 0 | Auswahl einzelner Positionen. |
QAbstractItemView::SelectRows | 1 | Nur Zeilen markieren. |
QAbstractItemView::SelectColumns | 2 | Nur Spalten markieren. |
enum QAbstractItemView::SelectionMode
Diese Aufzählung gibt an, wie die Ansicht auf Benutzerauswahlen reagiert:
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::SingleSelection | 1 | Wenn 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::ContiguousSelection | 4 | Wenn 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::ExtendedSelection | 3 | Wenn 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::MultiSelection | 2 | Wenn 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::NoSelection | 0 | Elemente 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.
Konstante | Wert | Beschreibung |
---|---|---|
QAbstractItemView::NoState | 0 | Der ist der Standardzustand. |
QAbstractItemView::DraggingState | 1 | Der Benutzer verschiebt Elemente. |
QAbstractItemView::DragSelectingState | 2 | Der Benutzer wählt Elemente aus. |
QAbstractItemView::EditingState | 3 | Der Benutzer bearbeitet ein Element in einem Widget-Editor. |
QAbstractItemView::ExpandingState | 4 | Der Benutzer öffnet einen Zweig mit Elementen. |
QAbstractItemView::CollapsingState | 5 | Der Benutzer schließt eine Verzweigung von Objekten. |
QAbstractItemView::AnimatingState | 6 | In 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 ¤t, 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 ®ion)
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.
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.