Auf dieser Seite

QTreeView Class

Die Klasse „QTreeView“ bietet eine Standard-Model-View-Implementierung einer Baumansicht. Mehr...

Überschrift: #include <QTreeView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QAbstractItemView
Vererbt an:

QHelpContentWidget und QTreeWidget

Eigenschaften

Öffentliche Funktionen

QTreeView(QWidget *parent = nullptr)
virtual ~QTreeView()
bool allColumnsShowFocus() const
int autoExpandDelay() const
int columnAt(int x) const
int columnViewportPosition(int column) const
int columnWidth(int column) const
bool expandsOnDoubleClick() const
QHeaderView *header() const
int indentation() const
QModelIndex indexAbove(const QModelIndex &index) const
QModelIndex indexBelow(const QModelIndex &index) const
bool isAnimated() const
bool isColumnHidden(int column) const
bool isExpanded(const QModelIndex &index) const
bool isFirstColumnSpanned(int row, const QModelIndex &parent) const
bool isHeaderHidden() const
bool isRowHidden(int row, const QModelIndex &parent) const
bool isSortingEnabled() const
(since 6.12) QRect itemDecorationRect(const QModelIndex &index) const
bool itemsExpandable() const
void resetIndentation()
bool rootIsDecorated() const
void setAllColumnsShowFocus(bool enable)
void setAnimated(bool enable)
void setAutoExpandDelay(int delay)
void setColumnHidden(int column, bool hide)
void setColumnWidth(int column, int width)
void setExpanded(const QModelIndex &index, bool expanded)
void setExpandsOnDoubleClick(bool enable)
void setFirstColumnSpanned(int row, const QModelIndex &parent, bool span)
void setHeader(QHeaderView *header)
void setHeaderHidden(bool hide)
void setIndentation(int i)
void setItemsExpandable(bool enable)
void setRootIsDecorated(bool show)
void setRowHidden(int row, const QModelIndex &parent, bool hide)
void setSortingEnabled(bool enable)
void setTreePosition(int index)
void setUniformRowHeights(bool uniform)
void setWordWrap(bool on)
int treePosition() const
bool uniformRowHeights() const
bool wordWrap() const

Neu implementierte öffentliche Funktionen

virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>()) override
virtual QModelIndex indexAt(const QPoint &point) const override
virtual void keyboardSearch(const QString &search) override
virtual void reset() override
virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override
virtual void selectAll() override
virtual void setModel(QAbstractItemModel *model) override
virtual void setRootIndex(const QModelIndex &index) override
virtual void setSelectionModel(QItemSelectionModel *selectionModel) override
virtual QRect visualRect(const QModelIndex &index) const override

Öffentliche Slots

void collapse(const QModelIndex &index)
void collapseAll()
void expand(const QModelIndex &index)
void expandAll()
void expandRecursively(const QModelIndex &index, int depth = -1)
void expandToDepth(int depth)
void hideColumn(int column)
void resizeColumnToContents(int column)
void showColumn(int column)
void sortByColumn(int column, Qt::SortOrder order)

Signale

void collapsed(const QModelIndex &index)
void expanded(const QModelIndex &index)

Geschützte Funktionen

virtual void drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const
virtual void drawRow(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
void drawTree(QPainter *painter, const QRegion &region) const
int indexRowSizeHint(const QModelIndex &index) const
int rowHeight(const QModelIndex &index) const

Neu implementierte geschützte Funktionen

virtual void changeEvent(QEvent *event) override
virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous) override
virtual void dragMoveEvent(QDragMoveEvent *event) override
virtual int horizontalOffset() const override
virtual bool isIndexHidden(const QModelIndex &index) const 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 QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
virtual void paintEvent(QPaintEvent *event) override
virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override
virtual void rowsInserted(const QModelIndex &parent, int start, int end) override
virtual void scrollContentsBy(int dx, int dy) override
virtual QModelIndexList selectedIndexes() const override
virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override
virtual int sizeHintForColumn(int column) const override
virtual void timerEvent(QTimerEvent *event) override
virtual void updateGeometries() override
virtual int verticalOffset() const override
virtual bool viewportEvent(QEvent *event) override
virtual QSize viewportSizeHint() const override
virtual QRegion visualRegionForSelection(const QItemSelection &selection) const override

Geschützte Slots

void columnCountChanged(int oldCount, int newCount)
void columnMoved()
void columnResized(int column, int oldSize, int newSize)
void rowsRemoved(const QModelIndex &parent, int start, int end)

Ausführliche Beschreibung

Verzeichnis-Widget, das den Inhalt in einer Baumansicht anzeigt

Eine `QTreeView` implementiert eine Baumdarstellung von Elementen aus einem Modell. Diese Klasse wird verwendet, um standardmäßige hierarchische Listen bereitzustellen, die zuvor von der Klasse ` QListView ` bereitgestellt wurden, jedoch unter Verwendung des flexibleren Ansatzes, den die Modell-View-Architektur von Qt bietet.

Die Klasse `QTreeView` gehört zu den Modell-Ansicht-Klassen und ist Teil des Modell-Ansicht-Frameworks von Qt.

QTreeView implementiert die von der Klasse „ QAbstractItemView “ definierten Schnittstellen, um Daten anzeigen zu können, die von Modellen bereitgestellt werden, die von der Klasse „ QAbstractItemModel “ abgeleitet sind.

Es ist einfach, eine Baumansicht zu erstellen, die Daten aus einem Modell anzeigt. Im folgenden Beispiel werden die Inhalte eines Verzeichnisses von einem „ QFileSystemModel “ bereitgestellt und als Baum dargestellt:

QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());
QTreeView *tree = new QTreeView(splitter);
tree->setModel(model);

Die Modell-Darstellungs-Architektur stellt sicher, dass der Inhalt der Baumansicht aktualisiert wird, sobald sich das Modell ändert.

Elemente, die untergeordnete Elemente haben, können sich in einem erweiterten (untergeordnete Elemente sind sichtbar) oder zusammengeklappten (untergeordnete Elemente sind ausgeblendet) Zustand befinden. Wenn sich dieser Zustand ändert, wird ein Signal „ collapsed()“ oder „ expanded()“ mit dem Modellindex des betreffenden Elements ausgelöst.

Der Grad der Einrückung, mit dem Hierarchieebenen angezeigt werden, wird durch die Eigenschaft „ indentation “ gesteuert.

Kopfzeilen in Baumansichten werden mithilfe der Klasse „ QHeaderView “ erstellt und können mit „ header()->hide() “ ausgeblendet werden. Beachten Sie, dass jede Kopfzeile so konfiguriert ist, dass ihre Eigenschaft „ stretchLastSection “ auf „true“ gesetzt ist, wodurch sichergestellt wird, dass die Ansicht keinen der ihr für die Kopfzeile zugewiesenen Platz verschwendet. Ist dieser Wert auf „true“ gesetzt, überschreibt diese Eigenschaft den im letzten Abschnitt der Kopfzeile festgelegten Größenanpassungsmodus.

Standardmäßig sind alle Spalten in einer Baumansicht verschiebbar, mit Ausnahme der ersten. Um das Verschieben dieser Spalten zu deaktivieren, verwenden Sie die Funktion ` setSectionsMovable()` von ` QHeaderView`. Weitere Informationen zum Neuanordnen von Abschnitten finden Sie unter ` Moving Header Sections`.

Tastenkombinationen

QTreeView unterstützt eine Reihe von Tastenkombinationen, mit denen der Benutzer in der Ansicht navigieren und mit den Inhalten der Elemente interagieren kann:

TasteAktion
Nach obenBewegt den Cursor zum Element in derselben Spalte in der vorherigen Zeile. Wenn das übergeordnete Element des aktuellen Elements keine weiteren Zeilen mehr enthält, zu denen navigiert werden kann, springt der Cursor zum entsprechenden Element in der letzten Zeile des Geschwisterelements, das dem übergeordneten Element vorausgeht.
Nach untenBewegt den Cursor zum Element in derselben Spalte in der nächsten Zeile. Wenn das übergeordnete Element des aktuellen Elements keine weiteren Zeilen mehr enthält, zu denen navigiert werden kann, springt der Cursor zum entsprechenden Element in der ersten Zeile des gleichrangigen Elements, das auf das übergeordnete Element folgt.
LinksBlendet die untergeordneten Elemente des aktuellen Elements (sofern vorhanden) aus, indem ein Zweig eingeklappt wird.
MinusWie „Links“.
RechtsBlendet die untergeordneten Elemente des aktuellen Elements (sofern vorhanden) ein, indem ein Zweig erweitert wird.
PlusWie „Rechts“.
SternchenErweitert das aktuelle Element und alle seine untergeordneten Elemente (sofern vorhanden).
Bild aufBewegt den Cursor eine Seite nach oben.
Bild-nach-untenBewegt den Cursor eine Seite nach unten.
StartBewegt den Cursor zu einem Element in derselben Spalte der ersten Zeile des ersten Elements der obersten Ebene im Modell.
EndeBewegt den Cursor zu einem Element in derselben Spalte der letzten Zeile des letzten Elements der obersten Ebene im Modell.
F2In bearbeitbaren Modellen wird damit das aktuelle Element zur Bearbeitung geöffnet. Mit der Escape-Taste können Sie den Bearbeitungsvorgang abbrechen und alle Änderungen an den angezeigten Daten rückgängig machen.

Leistungsoptimierung

Es ist möglich, der Ansicht Hinweise zu den von ihr verarbeiteten Daten zu geben, um ihre Leistung bei der Anzeige einer großen Anzahl von Elementen zu verbessern. Ein Ansatz für Ansichten, die Elemente mit gleicher Höhe anzeigen sollen, besteht darin, die Eigenschaft „ uniformRowHeights “ auf „true“ zu setzen.

Siehe auch „ QListView“ , „ QTreeWidget “, „View Classes“, „ QAbstractItemModel “ und „ QAbstractItemView “.

Eigenschaftsdokumentation

allColumnsShowFocus : bool

Diese Eigenschaft legt fest, ob Elemente den Tastaturfokus über alle Spalten hinweg anzeigen sollen

Ist diese Eigenschaft auf „ true “ gesetzt, zeigen alle Spalten den Fokus an, andernfalls nur eine Spalte.

Der Standardwert ist „false“.

Zugriffsfunktionen:

bool allColumnsShowFocus() const
void setAllColumnsShowFocus(bool enable)

animated : bool

Diese Eigenschaft legt fest, ob Animationen aktiviert sind

Wenn diese Eigenschaft auf „ true “ gesetzt ist, animiert die Baumansicht das Ein- und Ausklappen von Zweigen. Wenn diese Eigenschaft auf „ false “ gesetzt ist, klappt die Baumansicht Zweige sofort ein oder aus, ohne die Animation anzuzeigen.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.

Zugriffsfunktionen:

bool isAnimated() const
void setAnimated(bool enable)

autoExpandDelay : int

Diese Eigenschaft legt die Verzögerungszeit fest, die verstreicht, bevor Elemente in einer Baumstruktur während eines Drag-and-Drop-Vorgangs geöffnet werden.

Diese Eigenschaft gibt die Zeit in Millisekunden an, die der Benutzer über einem Knoten verweilen muss, bevor dieser Knoten automatisch geöffnet wird. Ist der Wert kleiner als 0, wird die Funktion nicht aktiviert.

Standardmäßig hat diese Eigenschaft den Wert -1, was bedeutet, dass die automatische Erweiterung deaktiviert ist.

Zugriffsfunktionen:

int autoExpandDelay() const
void setAutoExpandDelay(int delay)

expandsOnDoubleClick : bool

Diese Eigenschaft gibt an, ob die Elemente durch Doppelklicken erweitert werden können.

Diese Eigenschaft gibt an, ob der Benutzer Elemente durch Doppelklicken ein- und ausklappen kann. Der Standardwert ist „true“.

Zugriffsfunktionen:

bool expandsOnDoubleClick() const
void setExpandsOnDoubleClick(bool enable)

Siehe auch „ itemsExpandable “.

headerHidden : bool

Diese Eigenschaft legt fest, ob die Kopfzeile angezeigt wird oder nicht.

Ist diese Eigenschaft auf „ true “ gesetzt, wird die Kopfzeile nicht angezeigt, andernfalls wird sie angezeigt. Der Standardwert ist „false“.

Zugriffsfunktionen:

bool isHeaderHidden() const
void setHeaderHidden(bool hide)

Siehe auch ` header()`.

indentation : int

Einrückung der Elemente in der Baumansicht.

Diese Eigenschaft enthält die in Pixeln gemessene Einrückung der Elemente für jede Ebene in der Baumansicht. Bei Elementen der obersten Ebene gibt die Einrückung den horizontalen Abstand vom Rand des Ansichtsbereichs zu den Elementen in der ersten Spalte an; bei untergeordneten Elementen gibt sie deren Einrückung gegenüber ihren übergeordneten Elementen an.

Standardmäßig ist der Wert dieser Eigenschaft stilabhängig. Wenn sich also der Stil ändert, wird diese Eigenschaft entsprechend aktualisiert. Der Aufruf von `setIndentation()` stoppt die Aktualisierungen, der Aufruf von `resetIndentation()` stellt das Standardverhalten wieder her.

Zugriffsfunktionen:

int indentation() const
void setIndentation(int i)
void resetIndentation()

itemsExpandable : bool

Diese Eigenschaft gibt an, ob die Elemente vom Benutzer erweitert werden können.

Diese Eigenschaft gibt an, ob der Benutzer Elemente interaktiv ein- und ausklappen kann.

Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.

Zugriffsfunktionen:

bool itemsExpandable() const
void setItemsExpandable(bool enable)

rootIsDecorated : bool

Diese Eigenschaft legt fest, ob Steuerelemente zum Ein- und Ausblenden von Elementen der obersten Ebene angezeigt werden sollen

Elemente mit untergeordneten Elementen werden in der Regel mit Steuerelementen zum Ein- und Ausklappen angezeigt, sodass ihre untergeordneten Elemente ein- oder ausgeblendet werden können. Ist diese Eigenschaft auf „false“ gesetzt, werden diese Steuerelemente für Elemente der obersten Ebene nicht angezeigt. Dies kann verwendet werden, um eine einstufige Baumstruktur wie eine einfache Liste von Elementen erscheinen zu lassen.

Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.

Zugriffsfunktionen:

bool rootIsDecorated() const
void setRootIsDecorated(bool show)

sortingEnabled : bool

Diese Eigenschaft gibt an, ob die Sortierung aktiviert ist

Ist diese Eigenschaft auf „ true “ gesetzt, ist die Sortierung für den Baum aktiviert; ist die Eigenschaft auf „false“ gesetzt, ist die Sortierung nicht aktiviert. Der Standardwert ist „false“.

Hinweis: Um Leistungsprobleme zu vermeiden, wird empfohlen, die Sortierung erst nach dem Einfügen der Elemente in den Baum zu aktivieren. Alternativ können Sie die Elemente auch zunächst in eine Liste einfügen, bevor Sie sie in den Baum einfügen.

Zugriffsfunktionen:

bool isSortingEnabled() const
void setSortingEnabled(bool enable)

Siehe auch ` sortByColumn()`.

uniformRowHeights : bool

Diese Eigenschaft gibt an, ob alle Elemente in der Baumansicht dieselbe Höhe haben

Diese Eigenschaft sollte nur dann auf „true“ gesetzt werden, wenn garantiert ist, dass alle Elemente in der Ansicht dieselbe Höhe haben. Dadurch kann die Ansicht bestimmte Optimierungen vornehmen.

Die Höhe wird aus dem ersten Element in der Ansicht ermittelt. Sie wird aktualisiert, wenn sich die Daten dieses Elements ändern.

Hinweis: Ist der Größenhinweis des Editors größer als der der Zelle, wird der Größenhinweis des Editors verwendet.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.

Zugriffsfunktionen:

bool uniformRowHeights() const
void setUniformRowHeights(bool uniform)

wordWrap : bool

Diese Eigenschaft legt die Zeilenumbruchregel für den Elementtext fest

Wenn diese Eigenschaft auf „ true “ gesetzt ist, wird der Elementtext bei Bedarf an Worttrennstellen umgebrochen; andernfalls erfolgt kein Umbruch. Diese Eigenschaft ist standardmäßig auf „ false “ gesetzt.

Beachten Sie, dass die Zelle auch bei aktiviertem Zeilenumbruch nicht so erweitert wird, dass der gesamte Text hineinpasst. Ellipsen werden entsprechend der aktuellen Einstellung „ textElideMode “ eingefügt.

Zugriffsfunktionen:

bool wordWrap() const
void setWordWrap(bool on)

Dokumentation zu den Member-Funktionen

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

Erstellt eine Baumansicht mit einem „ parent “, um die Daten eines Modells darzustellen. Verwenden Sie „ setModel()“, um das Modell festzulegen.

Siehe auch ` QAbstractItemModel`.

[virtual noexcept] QTreeView::~QTreeView()

Löscht die Baumansicht.

[override virtual protected] void QTreeView::changeEvent(QEvent *event)

Umsetzt: ` QFrame::changeEvent(QEvent *ev)`.

[slot] void QTreeView::collapse(const QModelIndex &index)

Faltet das durch „ index “ angegebene Modellelement zusammen.

Siehe auch ` collapsed()`.

[slot] void QTreeView::collapseAll()

Faltet alle aufgeklappten Elemente zusammen.

Siehe auch expandAll(), expand(), collapse() und setExpanded().

[signal] void QTreeView::collapsed(const QModelIndex &index)

Dieses Signal wird ausgelöst, wenn das durch „ index “ angegebene Element ausgeblendet wird.

int QTreeView::columnAt(int x) const

Gibt die Spalte in der Baumansicht zurück, deren Kopfzeile die angegebene Koordinate x abdeckt.

[protected slot] void QTreeView::columnCountChanged(int oldCount, int newCount)

Teilt der Baumansicht mit, dass sich die Anzahl der Spalten in der Baumansicht von oldCount auf newCount geändert hat.

[protected slot] void QTreeView::columnMoved()

Dieser Slot wird immer dann aufgerufen, wenn eine Spalte verschoben wurde.

[protected slot] void QTreeView::columnResized(int column, int oldSize, int newSize)

Diese Funktion wird immer dann aufgerufen, wenn die Größe von column im Header geändert wird. oldSize und newSize geben die vorherige Größe und die neue Größe in Pixeln an.

Siehe auch setColumnWidth().

int QTreeView::columnViewportPosition(int column) const

Gibt die horizontale Position des „ column “ im Ansichtsbereich zurück.

int QTreeView::columnWidth(int column) const

Gibt die Breite des „ column “ zurück.

Siehe auch „ resizeColumnToContents()“ und „ setColumnWidth()“.

[override virtual protected] void QTreeView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

Implementiert: ` QAbstractItemView::currentChanged` (const QModelIndex &current, const QModelIndex &previous).

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

Implementiert: QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles).

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

Umsetzt: ` QAbstractItemView::dragMoveEvent` (`QDragMoveEvent *event`).

[virtual protected] void QTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const

Zeichnet die Zweige in der Baumansicht in derselben Zeile wie das Modellelement „ index “ unter Verwendung der angegebenen „ painter “. Die Zweige werden in dem durch „ rect “ festgelegten Rechteck gezeichnet.

[virtual protected] void QTreeView::drawRow(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const

Zeichnet die Zeile in der Baumansicht, die das Modellelement „ index “ enthält, unter Verwendung des angegebenen „ painter “. Der „ option “ steuert, wie das Element angezeigt wird.

Siehe auch setAlternatingRowColors().

[protected] void QTreeView::drawTree(QPainter *painter, const QRegion &region) const

Zeichnet den Teil des Baums, der den angegebenen „ region “ schneidet, unter Verwendung des angegebenen „ painter “.

Siehe auch paintEvent().

[slot] void QTreeView::expand(const QModelIndex &index)

Erweitert das durch die „ index “ angegebene Modellelement.

Siehe auch expanded().

[slot] void QTreeView::expandAll()

Erweitert alle erweiterbaren Elemente.

Hinweis: Diese Funktion versucht nicht, Daten zu „ fetch more ieren“.

Warnung: Wenn das Modell eine große Anzahl von Elementen enthält, dauert die Ausführung dieser Funktion einige Zeit.

Siehe auch „ collapseAll()“, „ expand()“, „ collapse()“ und „ setExpanded()“.

[slot] void QTreeView::expandRecursively(const QModelIndex &index, int depth = -1)

Erweitert das Element an der angegebenen Position „ index “ sowie alle seine untergeordneten Elemente auf die angegebene Position „ depth “. Die Position „ depth “ ist relativ zur angegebenen Position „ index “. Ein Wert von -1 für „ depth “ erweitert alle untergeordneten Elemente, ein Wert von 0 für „ depth “ erweitert nur das angegebene Element „ index “.

Hinweis: Diese Funktion versucht nicht, Daten zu „ fetch more “.

Warnung: Wenn das Modell eine große Anzahl von Elementen enthält, dauert die Ausführung dieser Funktion einige Zeit.

Siehe auch „ expandAll()“.

[slot] void QTreeView::expandToDepth(int depth)

Erweitert alle erweiterbaren Elemente auf die angegebene Breite depth.

Hinweis: Diese Funktion versucht nicht, Daten zu „ fetch more “.

Siehe auch „ expandAll()“, „ collapseAll()“, „ expand()“, „ collapse()“ und „ setExpanded()“.

[signal] void QTreeView::expanded(const QModelIndex &index)

Dieses Signal wird ausgelöst, wenn das durch „ index “ angegebene Element erweitert wird.

Siehe auch setExpanded().

Gibt den Header für die Baumansicht zurück.

Siehe auch setHeader() und QAbstractItemModel::headerData().

[slot] void QTreeView::hideColumn(int column)

Blendet die angegebene „ column “ aus.

Hinweis: Diese Funktion sollte erst aufgerufen werden, nachdem das Modell initialisiert wurde, da die Ansicht die Anzahl der Spalten kennen muss, um „ column “ auszublenden.

Siehe auch ` showColumn()` und ` setColumnHidden()`.

[override virtual protected] int QTreeView::horizontalOffset() const

Implementiert: QAbstractItemView::horizontalOffset() const.

Gibt den horizontalen Versatz der Elemente in der Baumansicht zurück.

Beachten Sie, dass die Baumansicht die Positionen der horizontalen Kopfzeilenabschnitte verwendet, um die Positionen der Spalten in der Ansicht zu bestimmen.

Siehe auch verticalOffset().

QModelIndex QTreeView::indexAbove(const QModelIndex &index) const

Gibt den Modellindex des Elements oberhalb von „ index “ zurück.

[override virtual] QModelIndex QTreeView::indexAt(const QPoint &point) const

Implementiert neu: QAbstractItemView::indexAt(const QPoint &point) const.

QModelIndex QTreeView::indexBelow(const QModelIndex &index) const

Gibt den Modellindex des Elements unter index zurück.

[protected] int QTreeView::indexRowSizeHint(const QModelIndex &index) const

Gibt den Größenhinweis für die durch ` index` angegebene Zeile zurück.

Siehe auch sizeHintForColumn() und uniformRowHeights().

bool QTreeView::isColumnHidden(int column) const

Gibt „ true “ zurück, wenn die „ column “ ausgeblendet ist; andernfalls wird „ false “ zurückgegeben.

Siehe auch „ hideColumn()“ und „ isRowHidden()“.

bool QTreeView::isExpanded(const QModelIndex &index) const

Gibt „ true “ zurück, wenn das Modellelement „ index “ erweitert ist; andernfalls wird „false“ zurückgegeben.

Siehe auch expand(), expanded() und setExpanded().

bool QTreeView::isFirstColumnSpanned(int row, const QModelIndex &parent) const

Gibt „ true “ zurück, wenn das Element in der ersten Spalte der angegebenen „ row “ der „ parent “ sich über alle Spalten erstreckt; andernfalls wird „ false “ zurückgegeben.

Siehe auch setFirstColumnSpanned().

[override virtual protected] bool QTreeView::isIndexHidden(const QModelIndex &index) const

Implementiert neu: ` QAbstractItemView::isIndexHidden(const QModelIndex &index) const`.

bool QTreeView::isRowHidden(int row, const QModelIndex &parent) const

Gibt „ true “ zurück, wenn das Element im angegebenen „ row “ des „ parent “ ausgeblendet ist; andernfalls wird „ false “ zurückgegeben.

Siehe auch setRowHidden() und isColumnHidden().

[since 6.12] QRect QTreeView::itemDecorationRect(const QModelIndex &index) const

Gibt das Rechteck zurück, das von der Ein- und Ausklappanzeige des Elements unter index eingenommen wird. Verfügt das Element nicht über eine solche Anzeige – beispielsweise, weil es keine untergeordneten Elemente hat oder weil die Root-Dekoration deaktiviert ist –, ist das zurückgegebene Rechteck ungültig. Ein ungültiges index liefert ebenfalls ein ungültiges Rechteck zurück.

Diese Funktion wurde in Qt 6.12 eingeführt.

Siehe auch visualRect() und QStyle::SE_TreeViewDisclosureItem.

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

Implementiert: ` QAbstractItemView::keyPressEvent(QKeyEvent *event)`.

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

Implementiert neu: ` QAbstractItemView::keyboardSearch(const QString &search)`.

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

Implementiert: ` QAbstractItemView::mouseDoubleClickEvent` (`QMouseEvent *event`).

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

Implementiert: ` QAbstractItemView::mouseMoveEvent(QMouseEvent *event)`.

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

Implementiert: ` QAbstractItemView::mousePressEvent` (`QMouseEvent *event`).

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

Implementiert: ` QAbstractItemView::mouseReleaseEvent` (`QMouseEvent *event`).

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

Umsetzt: QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers).

Bewegt den Cursor gemäß der in ` cursorAction` beschriebenen Vorgehensweise unter Verwendung der vom Button bereitgestellten Informationen ` modifiers`.

[override virtual protected] void QTreeView::paintEvent(QPaintEvent *event)

Umsetzt: QAbstractScrollArea::paintEvent(QPaintEvent *event).

[override virtual] void QTreeView::reset()

Implementiert: QAbstractItemView::reset().

[slot] void QTreeView::resizeColumnToContents(int column)

Passen die Größe des angegebenen „ column “ an die Größe seines Inhalts an.

Siehe auch columnWidth(), setColumnWidth(), sizeHintForColumn() und QHeaderView::resizeContentsPrecision().

[protected] int QTreeView::rowHeight(const QModelIndex &index) const

Gibt die Höhe der Zeile zurück, auf die der angegebene ` index` verweist.

Siehe auch ` indexRowSizeHint()`.

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

Implementiert: QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end).

Teilt der Ansicht mit, dass die Zeilen von der Zeile „ start “ bis einschließlich der Zeile „ end “ aus dem angegebenen Modellelement „ parent “ entfernt werden sollen.

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

Implementiert: ` QAbstractItemView::rowsInserted` (const QModelIndex &parent, int start, int end).

Teilt der Ansicht mit, dass die Zeilen von der Zeile „ start “ bis einschließlich der Zeile „ end “ in das Modellelement „ parent “ eingefügt wurden.

[protected slot] void QTreeView::rowsRemoved(const QModelIndex &parent, int start, int end)

Gibt an, dass die Zeilen von der Zeile „ start “ bis einschließlich der Zeile „ end “ aus dem angegebenen Modellelement „ parent “ entfernt wurden.

[override virtual protected] void QTreeView::scrollContentsBy(int dx, int dy)

Implementiert: ` QAbstractScrollArea::scrollContentsBy(int dx, int dy)`.

Blättert den Inhalt der Baumansicht um (dx, dy).

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

Umsetzt: QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint).

Blättert den Inhalt der Baumansicht so lange durch, bis das angegebene Modellelement index sichtbar ist. Der Parameter „ hint “ gibt genauer an, wo sich das Element nach der Operation befinden soll. Sind einige der übergeordneten Elemente des Modellelements ausgeblendet, werden sie erweitert, um sicherzustellen, dass das Modellelement sichtbar ist.

[override virtual] void QTreeView::selectAll()

Implementiert: QAbstractItemView::selectAll().

[override virtual protected] QModelIndexList QTreeView::selectedIndexes() const

Implementiert neu: ` QAbstractItemView::selectedIndexes()` const.

[override virtual protected] void QTreeView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

Implementiert: ` QAbstractItemView::selectionChanged` (const QItemSelection &selected, const QItemSelection &deselected).

void QTreeView::setColumnHidden(int column, bool hide)

Wenn „ hide “ wahr ist, wird „ column “ ausgeblendet, andernfalls wird „ column “ angezeigt.

Siehe auch isColumnHidden(), hideColumn() und setRowHidden().

void QTreeView::setColumnWidth(int column, int width)

Legt die Breite des angegebenen „ column “ auf den angegebenen Wert „ width “ fest.

Siehe auch „ columnWidth()“ und „ resizeColumnToContents()“.

void QTreeView::setExpanded(const QModelIndex &index, bool expanded)

Setzt das Element, auf das „ index “ verweist, je nach dem Wert von „ expanded “ entweder auf „zusammengeklappt“ oder „aufgeklappt“.

Siehe auch expanded(), expand() und isExpanded().

void QTreeView::setFirstColumnSpanned(int row, const QModelIndex &parent, bool span)

Wenn „ span “ wahr ist, wird das Element in der ersten Spalte des „ row “ mit der angegebenen „ parent “ so eingestellt, dass es sich über alle Spalten erstreckt; andernfalls werden alle Elemente auf der „ row “ angezeigt.

Siehe auch isFirstColumnSpanned().

void QTreeView::setHeader(QHeaderView *header)

Setzt die Kopfzeile der Baumansicht auf die angegebene Adresse header.

Die Ansicht übernimmt die Eigentumsrechte an dem angegebenen „ header “ und löscht diesen, sobald eine neue Kopfzeile festgelegt wird.

Siehe auch ` QAbstractItemModel::headerData()`.

[override virtual] void QTreeView::setModel(QAbstractItemModel *model)

Implementiert: ` QAbstractItemView::setModel(QAbstractItemModel *model)`.

[override virtual] void QTreeView::setRootIndex(const QModelIndex &index)

Implementiert: ` QAbstractItemView::setRootIndex(const QModelIndex &index)`.

void QTreeView::setRowHidden(int row, const QModelIndex &parent, bool hide)

Wenn „ hide “ wahr ist, wird die Seite „ row “ mit der angegebenen Adresse „ parent “ ausgeblendet, andernfalls wird die Seite „ row “ angezeigt.

Siehe auch isRowHidden() und setColumnHidden().

[override virtual protected] void QTreeView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)

Implementiert: QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags).

Wendet die Auswahlfunktion ` command ` auf die Elemente an, die sich innerhalb des Rechtecks befinden oder von diesem berührt werden: ` rect`.

Siehe auch selectionCommand().

[override virtual] void QTreeView::setSelectionModel(QItemSelectionModel *selectionModel)

Implementiert: ` QAbstractItemView::setSelectionModel` (`QItemSelectionModel *selectionModel`).

void QTreeView::setTreePosition(int index)

Dies legt fest, dass die Baumstruktur am logischen Index index platziert werden soll. Wenn auf -1 gesetzt ist, folgt der Baum immer dem visuellen Index 0.

Siehe auch treePosition(), QHeaderView::swapSections() und QHeaderView::moveSection().

[slot] void QTreeView::showColumn(int column)

Zeigt die angegebene „ column “ in der Baumansicht an.

Siehe auch „ hideColumn()“ und „ setColumnHidden()“.

[override virtual protected] int QTreeView::sizeHintForColumn(int column) const

Implementiert: ` QAbstractItemView::sizeHintForColumn(int column) const`.

Gibt den Größenhinweis für die Breite des „ column “ zurück oder -1, wenn kein Modell vorhanden ist.

Wenn Sie die Breite einer bestimmten Spalte auf einen festen Wert festlegen möchten, rufen Sie ` QHeaderView::resizeSection()` für die Kopfzeile der Ansicht auf.

Wenn Sie diese Funktion in einer Unterklasse neu implementieren, beachten Sie, dass der von Ihnen zurückgegebene Wert nur verwendet wird, wenn ` resizeColumnToContents()` aufgerufen wird. In diesem Fall wird stattdessen die Breite verwendet, die entweder von der Kopfzeile der Ansicht oder vom Element-Delegaten gefordert wird, falls diese größer ist.

Siehe auch ` QWidget::sizeHint`, ` header()` und ` QHeaderView::resizeContentsPrecision()`.

[slot] void QTreeView::sortByColumn(int column, Qt::SortOrder order)

Sortiert das Modell nach den Werten in den angegebenen Feldern „ column “ und „ order “.

column Kann den Wert -1 annehmen; in diesem Fall wird kein Sortierindikator angezeigt und das Modell kehrt zu seiner natürlichen, unsortierten Reihenfolge zurück. Beachten Sie, dass nicht alle Modelle dies unterstützen und in diesem Fall sogar abstürzen können.

Siehe auch sortingEnabled.

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

Umsetzt: ` QAbstractItemView::timerEvent(QTimerEvent *event)`.

int QTreeView::treePosition() const

Gibt den logischen Index zurück, auf dem der Baum gesetzt ist. Ist der Rückgabewert -1, wird der Baum auf den visuellen Index 0 gesetzt.

Siehe auch ` setTreePosition()`.

[override virtual protected] void QTreeView::updateGeometries()

Implementiert: QAbstractItemView::updateGeometries().

[override virtual protected] int QTreeView::verticalOffset() const

Implementiert neu: ` QAbstractItemView::verticalOffset()` const.

Gibt den vertikalen Versatz der Elemente in der Baumansicht zurück.

Siehe auch horizontalOffset().

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

Umsetzt: QAbstractItemView::viewportEvent(QEvent *event).

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

Implementiert: QAbstractItemView::viewportSizeHint() const.

[override virtual] QRect QTreeView::visualRect(const QModelIndex &index) const

Implementiert: ` QAbstractItemView::visualRect(const QModelIndex &index) const`.

Gibt das Rechteck im Ansichtsbereich zurück, das das Element unter index einnimmt. Wenn der Index nicht sichtbar oder explizit ausgeblendet ist, ist das zurückgegebene Rechteck ungültig.

Siehe auch ` itemDecorationRect()`.

[override virtual protected] QRegion QTreeView::visualRegionForSelection(const QItemSelection &selection) const

Implementiert: ` QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const`.

Gibt das Rechteck aus dem Ansichtsbereich der Elemente in dem angegebenen ` selection` zurück.

Seit Version 4.7 enthält der zurückgegebene Bereich nur noch Rechtecke, die den Ansichtsbereich schneiden (oder darin enthalten sind).

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.