이 페이지에서

QTreeView Class

QTreeView 클래스는 트리 뷰에 대한 기본 모델/뷰 구현을 제공합니다. 더 보기...

헤더: #include <QTreeView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속: QAbstractItemView
상속받는 항목:

QHelpContentWidget 그리고 QTreeWidget

속성

공개 함수

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

재구현된 공용 함수

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

공개 슬롯

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)

신호

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

보호된 함수

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

재구현된 보호된 함수

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

보호된 슬롯

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)

상세 설명

트리 뷰를 사용하여 내용을 표시하는 디렉터리 위젯

QTreeView는 모델의 항목을 트리 형태로 표현합니다. 이 클래스는 이전에 QListView 클래스가 제공하던 표준 계층형 목록을, Qt의 모델/뷰 아키텍처가 제공하는 보다 유연한 방식을 사용하여 구현합니다.

QTreeView 클래스는 모델/뷰 클래스 중 하나이며, Qt의 모델/뷰 프레임워크의 일부입니다.

QTreeView는 QAbstractItemView 클래스에서 정의한 인터페이스를 구현하여, QAbstractItemModel 클래스에서 파생된 모델이 제공하는 데이터를 표시할 수 있도록 합니다.

모델의 데이터를 표시하는 트리 뷰를 생성하는 것은 간단합니다. 다음 예제에서는 디렉터리의 내용이 QFileSystemModel 에 의해 제공되며 트리 형태로 표시됩니다:

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

모델/뷰 아키텍처는 모델이 변경될 때마다 트리 뷰의 내용이 자동으로 업데이트되도록 보장합니다.

자식 노드가 있는 항목은 확장된 상태(자식 노드가 표시됨) 또는 축소된 상태(자식 노드가 숨김)일 수 있습니다. 이 상태가 변경되면 해당 항목의 모델 인덱스와 함께 collapsed() 또는 expanded() 신호가 발생합니다.

계층 수준을 나타내기 위해 사용되는 들여쓰기 정도는 indentation 속성으로 제어됩니다.

트리 뷰의 헤더는 QHeaderView 클래스를 사용하여 생성되며, header()->hide() 를 사용하여 숨길 수 있습니다. 각 헤더는 stretchLastSection 속성이 true로 설정되어 구성되어 있으므로, 뷰가 헤더를 위해 할당된 공간을 낭비하지 않도록 보장합니다. 이 값이 true로 설정되면, 이 속성이 헤더의 마지막 섹션에 설정된 크기 조정 모드를 재정의합니다.

기본적으로 트리 뷰의 첫 번째 열을 제외한 모든 열은 이동할 수 있습니다. 이러한 열의 이동을 비활성화하려면 QHeaderView 의 setSectionsMovable() 함수를 사용하십시오. 섹션 재배치에 대한 자세한 내용은 Moving Header Sections 를 참조하십시오.

키 바인딩

QTreeView는 사용자가 뷰 내에서 이동하고 항목의 내용과 상호 작용할 수 있도록 하는 일련의 키 바인딩을 지원합니다:

키작업
위커서를 이전 행의 같은 열에 있는 항목으로 이동합니다. 현재 항목의 상위 항목으로 이동할 행이 더 이상 없는 경우, 커서는 상위 항목 바로 앞의 형제 항목의 마지막 행에 있는 관련 항목으로 이동합니다.
아래커서를 같은 열의 다음 행에 있는 항목으로 이동합니다. 현재 항목의 상위 항목으로 이동할 행이 더 이상 없는 경우, 커서는 해당 상위 항목 뒤에 오는 형제 항목의 첫 번째 행에 있는 관련 항목으로 이동합니다.
왼쪽현재 항목의 하위 항목(있는 경우)을 숨기며, 해당 분기를 접습니다.
마이너스'왼쪽'과 동일합니다.
오른쪽브랜치를 확장하여 현재 항목의 하위 항목(있는 경우)을 표시합니다.
더하기'오른쪽'과 동일합니다.
별표현재 항목과 그 모든 하위 항목(있는 경우)을 펼칩니다.
PageUp커서를 한 페이지 위로 이동합니다.
PageDown커서를 한 페이지 아래로 이동합니다.
Home커서를 모델의 최상위 항목 중 첫 번째 항목의 첫 번째 행에 있는 동일한 열의 항목으로 이동합니다.
End커서를 모델의 마지막 최상위 항목의 마지막 행에 있는 같은 열의 항목으로 이동합니다.
F2편집 가능한 모델에서 이 키를 누르면 현재 항목을 열어 편집할 수 있습니다. Escape 키를 사용하면 편집 과정을 취소하고 표시된 데이터의 변경 사항을 원상태로 되돌릴 수 있습니다.

성능 향상

대량의 항목을 표시할 때 성능을 향상시키기 위해 뷰가 처리하는 데이터에 대한 힌트를 제공할 수 있습니다. 높이가 동일한 항목을 표시하도록 설계된 뷰의 경우, ` uniformRowHeights ` 속성을 `true`로 설정하는 것이 한 가지 방법입니다.

관련 항목: QListView, QTreeWidget, View Classes, QAbstractItemModel, QAbstractItemView.

속성 문서

allColumnsShowFocus : bool

이 속성은 항목이 모든 열을 사용하여 키보드 포커스를 표시해야 하는지 여부를 결정합니다.

이 속성이 ` true `인 경우 모든 열에 포커스가 표시되며, 그렇지 않은 경우 하나의 열에만 포커스가 표시됩니다.

기본값은 false입니다.

액세스 함수:

bool allColumnsShowFocus() const
void setAllColumnsShowFocus(bool enable)

animated : bool

이 속성은 애니메이션이 활성화되어 있는지 여부를 나타냅니다.

이 속성이 ` true `로 설정되어 있으면 트리뷰는 브랜치의 확장 및 축소 시 애니메이션을 표시합니다. 이 속성이 ` false`로 설정되어 있으면 트리뷰는 애니메이션을 표시하지 않고 브랜치를 즉시 확장하거나 축소합니다.

기본적으로 이 속성의 값은 ` false`입니다.

액세스 함수:

bool isAnimated() const
void setAnimated(bool enable)

autoExpandDelay : int

이 속성은 드래그 앤 드롭 작업 중 트리 내 항목이 열리기까지의 지연 시간을 지정합니다.

이 속성은 노드가 자동으로 펼쳐지기까지 사용자가 해당 노드 위에 마우스를 올려두고 기다려야 하는 시간을 밀리초 단위로 지정합니다. 이 시간이 0보다 작게 설정된 경우, 이 기능은 활성화되지 않습니다.

기본적으로 이 속성의 값은 -1이며, 이는 자동 확장이 비활성화되었음을 의미합니다.

액세스 함수:

int autoExpandDelay() const
void setAutoExpandDelay(int delay)

expandsOnDoubleClick : bool

이 속성은 항목을 더블 클릭하여 펼칠 수 있는지 여부를 나타냅니다.

이 속성은 사용자가 항목을 더블 클릭하여 펼치거나 접을 수 있는지 여부를 나타냅니다. 기본값은 true입니다.

액세스 함수:

bool expandsOnDoubleClick() const
void setExpandsOnDoubleClick(bool enable)

itemsExpandable도 참조하십시오 .

headerHidden : bool

이 속성은 헤더가 표시되는지 여부를 결정합니다.

이 속성이 ` true`인 경우 헤더가 표시되지 않으며, 그렇지 않은 경우 헤더가 표시됩니다. 기본값은 `false`입니다.

액세스 함수:

bool isHeaderHidden() const
void setHeaderHidden(bool hide)

header()도 참조하십시오 .

indentation : int

트리 뷰 내 항목의 들여쓰기.

이 속성은 트리 뷰의 각 레벨에 있는 항목의 들여쓰기(픽셀 단위)를 저장합니다. 최상위 항목의 경우, 들여쓰기는 뷰포트 가장자리에서 첫 번째 열의 항목까지의 수평 거리를 나타내며, 자식 항목의 경우 부모 항목으로부터의 들여쓰기를 나타냅니다.

기본적으로 이 속성의 값은 스타일에 따라 달라집니다. 따라서 스타일이 변경되면 이 속성도 그에 따라 업데이트됩니다. setIndentation()을 호출하면 업데이트가 중지되며, resetIndentation()을 호출하면 기본 동작으로 복원됩니다.

액세스 함수:

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

itemsExpandable : bool

이 속성은 사용자가 항목을 펼칠 수 있는지 여부를 나타냅니다.

이 속성은 사용자가 항목을 직접 확장 및 축소할 수 있는지 여부를 나타냅니다.

기본적으로 이 속성의 값은 ' true'입니다.

액세스 함수:

bool itemsExpandable() const
void setItemsExpandable(bool enable)

rootIsDecorated : bool

이 속성은 최상위 항목의 확장 및 축소 컨트롤을 표시할지 여부를 결정합니다.

자식 노드가 있는 항목은 일반적으로 확장 및 축소 컨트롤과 함께 표시되어, 해당 항목의 자식 노드를 표시하거나 숨길 수 있습니다. 이 속성이 false인 경우, 최상위 항목에는 이러한 컨트롤이 표시되지 않습니다. 이를 통해 단일 레벨 트리 구조를 단순한 항목 목록처럼 보이게 할 수 있습니다.

기본적으로 이 속성의 값은 ` true`입니다.

액세스 함수:

bool rootIsDecorated() const
void setRootIsDecorated(bool show)

sortingEnabled : bool

이 속성은 정렬이 활성화되어 있는지 여부를 나타냅니다.

이 속성이 ` true`인 경우 트리에 정렬이 활성화되며, `false`인 경우 정렬이 비활성화됩니다. 기본값은 `false`입니다.

참고: 성능 문제를 방지하기위해 , 항목을 트리에 삽입한 후에 정렬을 활성화하는 것이 좋습니다. 또는, 항목을 트리에 삽입하기 전에 먼저 목록에 삽입할 수도 있습니다.

액세스 함수:

bool isSortingEnabled() const
void setSortingEnabled(bool enable)

참조: ` sortByColumn()` 함수.

uniformRowHeights : bool

이 속성은 트리 뷰의 모든 항목이 동일한 높이를 가지는지 여부를 나타냅니다.

이 속성은 뷰 내의 모든 항목이 동일한 높이를 갖는다는 것이 보장되는 경우에만 true로 설정해야 합니다. 이렇게 하면 뷰에서 일부 최적화를 수행할 수 있습니다.

높이는 뷰의 첫 번째 항목에서 가져옵니다. 해당 항목의 데이터가 변경되면 높이가 업데이트됩니다.

참고: 편집기 크기 힌트가 셀 크기 힌트보다 큰경우 , 편집기의 크기 힌트가 사용됩니다.

기본적으로 이 속성의 값은 ` false`입니다.

액세스 함수:

bool uniformRowHeights() const
void setUniformRowHeights(bool uniform)

wordWrap : bool

이 속성은 항목 텍스트의 줄바꿈 정책을 지정합니다.

이 속성이 ` true `인 경우, 항목 텍스트는 필요한 위치에서 단어 단위로 줄바꿈되며, 그렇지 않은 경우 줄바꿈이 전혀 이루어지지 않습니다. 이 속성의 기본값은 ` false `입니다.

줄바꿈이 활성화되어 있더라도 셀이 모든 텍스트를 담을 수 있도록 확장되지는 않습니다. 현재 textElideMode 에 따라 생략 부호가 삽입됩니다.

Access 함수:

bool wordWrap() const
void setWordWrap(bool on)

멤버 함수 설명서

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

모델의 데이터를 나타내기 위해 ` parent `을 사용하는 트리 뷰를 생성합니다. 모델을 설정하려면 ` setModel()`를 사용하십시오.

QAbstractItemModel도 참조하십시오 .

[virtual noexcept] QTreeView::~QTreeView()

트리 보기를 제거합니다.

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

QFrame::changeEvent(QEvent *ev)를 재구현합니다.

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

index 로 지정된 모델 항목을 접습니다.

collapsed()도 참조하십시오 .

[slot] void QTreeView::collapseAll()

펼쳐진 항목을 모두 접습니다.

expandAll(), expand(), collapse() 및 setExpanded()도 참조하십시오 .

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

index 로 지정된 항목이 접힐 때 이 신호가 발생합니다.

int QTreeView::columnAt(int x) const

주어진 x 좌표를 포함하는 헤더를 가진 트리 뷰의 열을 반환합니다.

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

트리 뷰의 열 수가 oldCount 에서 newCount 로 변경되었음을 트리 뷰에 알립니다.

[protected slot] void QTreeView::columnMoved()

이 슬롯은 열이 이동될 때마다 호출됩니다.

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

이 함수는 헤더에서 column 의 크기가 변경될 때마다 호출됩니다. oldSize 와 newSize 는 이전 크기와 새로운 크기를 픽셀 단위로 반환합니다.

setColumnWidth()도 참조하십시오 .

int QTreeView::columnViewportPosition(int column) const

뷰포트 내의 ` column `의 수평 위치를 반환합니다.

int QTreeView::columnWidth(int column) const

column 의 너비를 반환합니다.

resizeColumnToContents() 및 setColumnWidth()도 참조하십시오 .

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

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>())

QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles)를 재구현합니다.

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

QAbstractItemView::dragMoveEvent(QDragMoveEvent *event)를 재구현합니다.

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

지정된 painter 를 사용하여 트리 뷰에서 모델 항목 index 과 같은 행에 브랜치를 그립니다. 브랜치는 rect 로 지정된 사각형 내에 그려집니다.

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

지정된 painter 을 사용하여 트리 뷰에서 모델 항목 index 을 포함하는 행을 그립니다. option 은 항목이 표시되는 방식을 제어합니다.

setAlternatingRowColors()도 참조하십시오 .

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

지정된 region 와 교차하는 트리 부분을, 지정된 painter 를 사용하여 그립니다.

paintEvent()도 참조하십시오 .

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

index 로 지정된 모델 항목을 확장합니다.

expanded()도 참조하십시오 .

[slot] void QTreeView::expandAll()

확장 가능한 항목을 모두 확장합니다.

참고: 이 함수는 데이터를 fetch more 하지 않습니다.

경고: 모델에 항목이 매우 많을경우 , 이 함수의 실행에 다소 시간이 소요될 수 있습니다.

관련 항목: collapseAll(), expand(), collapse(), setExpanded().

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

지정된 index 에 있는 항목과 그 모든 자식 노드를 지정된 depth 까지 확장합니다. depth 는 지정된 index 를 기준으로 합니다. depth 값이 -1이면 모든 자식 노드가 확장되고, depth 값이 0이면 지정된 index 만 확장됩니다.

참고: 이 함수는 데이터의 fetch more 을 시도하지 않습니다.

경고: 모델에 항목이 많을경우 , 이 함수의 실행에 다소 시간이 걸릴 수 있습니다.

참조: expandAll().

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

지정된 depth 로 확장 가능한 모든 항목을 확장합니다.

참고: 이 함수는 데이터를 fetch more 하려고 시도하지 않습니다.

관련 항목: expandAll(), collapseAll(), expand(), collapse(), setExpanded().

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

index 로 지정된 항목이 확장될 때 이 신호가 발생합니다.

setExpanded()도 참조하십시오 .

트리 뷰의 헤더를 반환합니다.

setHeader() 및 QAbstractItemModel::headerData()도 참조하십시오 .

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

지정된 column 를 숨깁니다.

참고: 뷰에서 ` column`를 숨기려면 열 수를 알아야 하므로,이 함수는 모델이 초기화된 후에만 호출해야 합니다.

showColumn() 및 setColumnHidden()함수도 참조하십시오 .

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

QAbstractItemView::horizontalOffset() const를 재구현합니다.

트리 뷰 내 항목들의 수평 오프셋을 반환합니다.

트리 뷰는 가로 방향 헤더 섹션의 위치를 사용하여 뷰 내 열의 위치를 결정한다는 점에 유의하십시오.

verticalOffset()도 참조하십시오 .

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

index 보다 위에 있는 항목의 모델 인덱스를 반환합니다.

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

QAbstractItemView::indexAt(const QPoint &point) const를 재구현합니다.

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

index 아래에 있는 항목의 모델 인덱스를 반환합니다.

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

index 로 지정된 행에 대한 크기 힌트를 반환합니다.

sizeHintForColumn() 및 uniformRowHeights()도 참조하십시오 .

bool QTreeView::isColumnHidden(int column) const

column 가 숨겨져 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

hideColumn() 및 isRowHidden()도 참조하십시오 .

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

모델 항목 index 이 확장된 경우 true 을 반환하고, 그렇지 않은 경우 false를 반환합니다.

expand(), expanded() 및 setExpanded()도 참조하십시오 .

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

parent 의 주어진 row 에서 첫 번째 열에 있는 항목이 모든 열에 걸쳐 있는 경우 true 을 반환하고, 그렇지 않은 경우 false 을 반환합니다.

setFirstColumnSpanned()도 참조하십시오 .

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

QAbstractItemView::isIndexHidden(const QModelIndex &index) const를 재구현합니다.

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

parent 의 지정된 row 에 있는 항목이 숨겨져 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

setRowHidden() 및 isColumnHidden()도 참조하십시오 .

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

index 에 있는 항목의 확장/축소 표시기가 차지하는 사각형을 반환합니다. 항목에 자식 요소가 없거나 루트 장식이 비활성화되어 있는 등 해당 표시기가 없는 경우, 반환된 사각형은 유효하지 않습니다. 유효하지 않은 index 도 유효하지 않은 사각형을 반환합니다.

이 함수는 Qt 6.12에서 도입되었습니다.

visualRect() 및 QStyle::SE_TreeViewDisclosureItem도 참조하십시오 .

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

QAbstractItemView::keyPressEvent(QKeyEvent *event)를 재구현합니다.

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

QAbstractItemView::keyboardSearch(const QString &search)를 재구현합니다.

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

QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)을 재구현합니다.

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

QAbstractItemView::mouseMoveEvent(QMouseEvent *event)를 재구현합니다.

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

QAbstractItemView::mousePressEvent(QMouseEvent *event)를 재구현합니다.

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

QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)를 재구현합니다.

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

다음 함수를 재구현합니다: QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers).

버튼 modifiers 에서 제공된 정보를 사용하여, cursorAction 에 설명된 방식대로 커서를 이동합니다.

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

QAbstractScrollArea::paintEvent(QPaintEvent *event)를 재구현합니다.

[override virtual] void QTreeView::reset()

QAbstractItemView::reset()을 재구현합니다.

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

지정된 column 의 크기를 해당 콘텐츠의 크기에 맞게 조정합니다.

columnWidth(), setColumnWidth(), sizeHintForColumn(), QHeaderView::resizeContentsPrecision()도 참조하십시오 .

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

주어진 index 로 지정된 행의 높이를 반환합니다.

indexRowSizeHint()도 참조하십시오 .

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

QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)를 재구현합니다.

뷰에, start 행부터 end 행까지(해당 행 포함)의 행들이 지정된 parent 모델 항목에서 곧 제거될 것임을 알립니다.

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

QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end)를 재구현합니다.

start 행부터 end 행까지(해당 행 포함)의 행들이 parent 모델 항목에 삽입되었음을 뷰에 알립니다.

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

start 행부터 end 행까지(해당 행 포함)의 행이 지정된 parent 모델 항목에서 제거되었음을 뷰에 알립니다.

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

QAbstractScrollArea::scrollContentsBy(int dx, int dy)를 재구현합니다.

트리 뷰의 내용을 (dx, dy)만큼 스크롤합니다.

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

QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint)를 재구현합니다.

지정된 모델 항목 index 이 표시될 때까지 트리 뷰의 내용을 스크롤합니다. hint 매개변수는 작업 후 해당 항목이 위치해야 할 위치를 더 정확하게 지정합니다. 모델 항목의 부모 중 접혀 있는 것이 있다면, 해당 모델 항목이 표시되도록 해당 부모를 펼칩니다.

[override virtual] void QTreeView::selectAll()

QAbstractItemView::selectAll()을 재구현합니다.

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

QAbstractItemView::selectedIndexes() const를 재구현합니다.

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

QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)를 재구현합니다.

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

hide 가 true인 경우 column 가 숨겨지고, 그렇지 않은 경우 column 가 표시됩니다.

isColumnHidden(), hideColumn(), setRowHidden()도 참조하십시오 .

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

지정된 ` column `의 너비를 ` width `로 설정합니다.

columnWidth() 및 resizeColumnToContents()도 참조하십시오 .

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

expanded 의 값에 따라 index 가 가리키는 항목을 접힌 상태 또는 펼쳐진 상태로 설정합니다.

expanded(), expand(), isExpanded()도 참조하십시오 .

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

span 가 true인 경우, row 의 첫 번째 열에 있는 지정된 parent 을 가진 항목이 모든 열에 걸쳐 표시되도록 설정되며, 그렇지 않은 경우 row 에 있는 모든 항목이 표시됩니다.

isFirstColumnSpanned()도 참조하십시오 .

void QTreeView::setHeader(QHeaderView *header)

트리 뷰의 헤더를 지정된 ` header`로 설정합니다.

뷰는 지정된 ` header `에 대한 소유권을 인수하며, 새로운 헤더가 설정되면 이를 삭제합니다.

QAbstractItemModel::headerData()도 참조하십시오 .

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

QAbstractItemView::setModel(QAbstractItemModel *model)을 재구현합니다.

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

QAbstractItemView::setRootIndex(const QModelIndex &index)를 재구현합니다.

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

hide 가 true인 경우, 지정된 parent 를 가진 row 가 숨겨지고, 그렇지 않은 경우 row 가 표시됩니다.

isRowHidden() 및 setColumnHidden()도 참조하십시오 .

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

QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)를 재구현합니다.

command 선택 범위를 사각형 내부 또는 사각형에 닿는 항목들에 적용합니다. rect.

selectionCommand()도 참조하십시오 .

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

QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)을 재구현합니다.

void QTreeView::setTreePosition(int index)

이는 트리 구조가 논리적 인덱스 index 에 배치되어야 함을 지정합니다. 가 -1로 설정된 경우, 트리는 항상 시각적 인덱스 0을 따릅니다.

treePosition(), QHeaderView::swapSections(), QHeaderView::moveSection()도 참조하십시오 .

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

지정된 column 를 트리 뷰에 표시합니다.

hideColumn() 및 setColumnHidden()도 참조하십시오 .

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

재구현: ` QAbstractItemView::sizeHintForColumn(int column) const`.

column 의 너비에 대한 크기 힌트를 반환하거나, 모델이 없는 경우 -1을 반환합니다.

특정 열의 너비를 고정된 값으로 설정해야 하는 경우, 뷰의 헤더에서 QHeaderView::resizeSection()를 호출하십시오.

서브클래스에서 이 함수를 재구현하는 경우, 반환하는 값은 resizeColumnToContents()이 호출될 때만 사용된다는 점에 유의하십시오. 이 경우, 뷰의 헤더나 항목 델리게이트 중 하나에서 더 넓은 열 너비가 요구되면, 대신 그 너비가 사용됩니다.

QWidget::sizeHint, header(), QHeaderView::resizeContentsPrecision()도 참조하십시오 .

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

지정된 ` column ` 및 ` order`의 값을 기준으로 모델을 정렬합니다.

column -1일 수 있으며, 이 경우 정렬 표시기가 표시되지 않고 모델은 정렬되지 않은 원래 순서로 돌아갑니다. 모든 모델이 이 기능을 지원하는 것은 아니며, 이 경우 프로그램이 중단될 수도 있습니다.

sortingEnabled도 참조하십시오 .

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

QAbstractItemView::timerEvent(QTimerEvent *event)를 재구현합니다.

int QTreeView::treePosition() const

트리가 설정된 논리 인덱스를 반환합니다. 반환 값이 -1이면 트리는 시각적 인덱스 0에 배치됩니다.

setTreePosition()도 참조하십시오 .

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

QAbstractItemView::updateGeometries()을 재구현합니다.

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

QAbstractItemView::verticalOffset() const를 재구현합니다.

트리 뷰 내 항목들의 수직 오프셋을 반환합니다.

horizontalOffset()도 참조하십시오 .

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

QAbstractItemView::viewportEvent(QEvent *event)를 재구현합니다.

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

QAbstractItemView::viewportSizeHint() const를 재구현합니다.

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

QAbstractItemView::visualRect(const QModelIndex &index) const를 재구현합니다.

index 에서 항목이 차지하는 뷰포트의 직사각형을 반환합니다. 인덱스가 표시되지 않거나 명시적으로 숨겨진 경우, 반환된 직사각형은 유효하지 않습니다.

itemDecorationRect()도 참조하십시오 .

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

QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const를 재구현합니다.

주어진 selection 에 포함된 항목들의 뷰포트에서 사각형을 반환합니다.

4.7 버전부터 반환되는 영역에는 뷰포트와 교차하거나 뷰포트에 포함된 사각형만 포함됩니다.

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