QAbstractItemView Class

QAbstractItemView 클래스는 항목 보기 클래스에 대한 기본 기능을 제공합니다. 더 보기...

Header: #include <QAbstractItemView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속합니다: QAbstractScrollArea
상속받습니다:

QColumnView, QHeaderView, QListView, QTableView, 그리고 QTreeView

공용 유형

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 }

속성

공용 함수

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

재구현된 공용 함수

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

공용 슬롯

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)

시그널

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

보호된 유형

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

보호된 함수

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

재구현된 보호 함수

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

보호된 슬롯

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

상세 설명

QAbstractItemView 클래스는 QAbstractItemModel 를 사용하는 모든 표준 뷰의 기본 클래스입니다. QAbstractItemView는 추상 클래스이며 그 자체로는 인스턴스화할 수 없습니다. 이 클래스는 신호 및 슬롯 메커니즘을 통해 모델과 상호 운용하기 위한 표준 인터페이스를 제공하여 하위 클래스가 모델의 변경 사항을 최신 상태로 유지할 수 있도록 합니다. 이 클래스는 키보드 및 마우스 탐색, 뷰포트 스크롤, 항목 편집 및 선택에 대한 표준 지원을 제공합니다. 키보드 탐색은 이 기능을 구현합니다:

기능
화살표 키현재 항목을 변경하고 선택합니다.
Ctrl+화살표 키현재 항목을 변경하지만 선택하지는 않습니다.
Shift+화살표 키현재 항목을 변경하고 선택합니다. 이전에 선택한 항목은 선택 취소되지 않습니다.
Ctrl+스페이스현재 항목의 선택을 토글합니다.
Tab/백탭현재 항목을 다음/이전 항목으로 변경합니다.
홈/끝모델의 첫 번째/마지막 항목을 선택합니다.
페이지 위로/페이지 아래로뷰에 표시된 행 수만큼 표시된 행을 위/아래로 스크롤합니다.
Ctrl+A모델의 모든 항목을 선택합니다.

위의 표는 selection mode 에서 작업을 허용한다고 가정합니다. 예를 들어 선택 모드가 QAbstractItemView::NoSelection 인 경우 항목을 선택할 수 없습니다.

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

QAbstractItemView를 상속하는 뷰 클래스는 항목 그리기, 항목의 지오메트리 반환, 항목 찾기 등과 같은 자체적인 뷰 전용 기능만 구현하면 됩니다.

QAbstractItemView는 edit() 및 setCurrentIndex()와 같은 공통 슬롯을 제공합니다. dataChanged (), rowsInserted(), rowsAboutToBeRemoved(), selectionChanged() 및 currentChanged() 등 많은 보호된 슬롯도 제공됩니다.

루트 항목은 rootIndex()로, 현재 항목은 currentIndex()로 반환됩니다. 항목이 표시되는지 확인하려면 scrollTo()를 사용합니다.

예를 들어 setHorizontalScrollMode() 및 setVerticalScrollMode() 등 일부 QAbstractItemView 함수는 스크롤과 관련이 있습니다. 예를 들어 스크롤 막대의 범위를 설정하려면 뷰의 resizeEvent() 함수를 다시 구현하면 됩니다:

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

위젯이 표시될 때까지 범위가 업데이트되지 않는다는 점에 유의하세요.

setSelectionMode() 및 setSelectionBehavior() 등 몇 가지 다른 함수가 선택 제어와 관련이 있습니다. 이 클래스는 기본 선택 모델(selectionModel())을 제공하지만 setSelectionModel() 를 QItemSelectionModel 의 인스턴스와 함께 사용하여 대체할 수 있습니다.

항목의 표시 및 편집을 완벽하게 제어하려면 setItemDelegate()로 델리게이트를 지정할 수 있습니다.

QAbstractItemView는 많은 보호된 함수를 제공합니다. 예를 들어 edit(), commitData() 등 일부는 편집과 관련된 것이고, 다른 일부는 키보드 및 마우스 이벤트 핸들러입니다.

참고: QAbstractItemView를 상속하고 뷰포트의 내용을 업데이트하려는 경우 모든 페인팅 작업이 뷰포트에서 이루어지므로 update() 대신 viewport->update()를 사용해야 합니다.

뷰 클래스, 모델/뷰 프로그래밍QAbstractItemModel참조하십시오 .

멤버 유형 문서

enum QAbstractItemView::CursorAction

이 열거형은 항목 간을 탐색하는 다양한 방법을 설명합니다,

상수설명
QAbstractItemView::MoveUp0현재 항목 위의 항목으로 이동합니다.
QAbstractItemView::MoveDown1현재 항목 아래의 항목으로 이동합니다.
QAbstractItemView::MoveLeft2현재 항목의 왼쪽 항목으로 이동합니다.
QAbstractItemView::MoveRight3현재 항목의 오른쪽 항목으로 이동합니다.
QAbstractItemView::MoveHome4왼쪽 상단 모서리 항목으로 이동합니다.
QAbstractItemView::MoveEnd5오른쪽 하단 모서리 항목으로 이동합니다.
QAbstractItemView::MovePageUp6현재 항목에서 한 페이지 위로 이동합니다.
QAbstractItemView::MovePageDown7현재 항목 아래에서 한 페이지 아래로 이동합니다.
QAbstractItemView::MoveNext8현재 항목 뒤의 항목으로 이동합니다.
QAbstractItemView::MovePrevious9현재 항목 앞의 항목으로 이동합니다.

moveCursor()도 참조하세요 .

enum QAbstractItemView::DragDropMode

뷰에서 작동할 수 있는 다양한 끌어서 놓기 이벤트에 대해 설명합니다. 기본적으로 뷰는 끌어서 놓기를 지원하지 않습니다(NoDragDrop).

상수설명
QAbstractItemView::NoDragDrop0끌기 또는 놓기를 지원하지 않습니다.
QAbstractItemView::DragOnly1뷰가 자체 항목의 끌기를 지원합니다.
QAbstractItemView::DropOnly2뷰가 끌어 놓기를 허용합니다.
QAbstractItemView::DragDrop3뷰가 끌기와 놓기를 모두 지원합니다.
QAbstractItemView::InternalMove4뷰는 자체에서 이동(복사 아님) 작업만 허용합니다.

사용되는 모델이 끌어서 놓기 작업을 지원해야 합니다.

setDragDropMode() 및 항목 보기에서 끌어서 놓기 사용도참조하세요 .

enum QAbstractItemView::DropIndicatorPosition

이 열거형은 현재 마우스 위치의 인덱스와 관련된 드롭 표시기의 위치를 나타냅니다:

상수설명
QAbstractItemView::OnItem0항목이 인덱스에 놓입니다.
QAbstractItemView::AboveItem1항목이 인덱스 위에 놓입니다.
QAbstractItemView::BelowItem2항목이 인덱스 아래에 놓입니다.
QAbstractItemView::OnViewport3항목이 뷰포트의 항목이 없는 영역에 놓입니다. 각 뷰가 뷰포트에 놓인 항목을 처리하는 방식은 사용 중인 기본 모델의 동작에 따라 다릅니다.

열거형 QAbstractItemView::편집 트리거
플래그 QAbstractItemView::편집 트리거

이 열거형은 아이템 편집을 시작하는 동작을 설명합니다.

상수설명
QAbstractItemView::NoEditTriggers0편집할 수 없습니다.
QAbstractItemView::CurrentChanged1현재 항목이 변경될 때마다 편집이 시작됩니다.
QAbstractItemView::DoubleClicked2항목을 두 번 클릭하면 편집이 시작됩니다.
QAbstractItemView::SelectedClicked4이미 선택된 항목을 클릭하면 편집이 시작됩니다.
QAbstractItemView::EditKeyPressed8항목 위에 플랫폼 수정 키를 누르면 수정이 시작됩니다.
QAbstractItemView::AnyKeyPressed16항목 위에 아무 키나 누르면 편집이 시작됩니다.
QAbstractItemView::AllEditTriggers31위의 모든 동작에 대해 편집이 시작됩니다.

편집 트리거 유형은 QFlags<편집 트리거>에 대한 유형 정의입니다. 이 유형은 편집 트리거 값의 OR 조합을 저장합니다.

enum QAbstractItemView::ScrollHint

상수설명
QAbstractItemView::EnsureVisible0스크롤하여 항목이 표시되도록 합니다.
QAbstractItemView::PositionAtTop1스크롤하여 항목을 뷰포트 상단에 배치합니다.
QAbstractItemView::PositionAtBottom2스크롤하여 항목을 뷰포트 하단에 배치합니다.
QAbstractItemView::PositionAtCenter3스크롤하여 항목을 뷰포트 중앙에 배치합니다.

enum QAbstractItemView::ScrollMode

스크롤바의 동작 방식을 설명합니다. 스크롤 모드를 픽셀당 스크롤로 설정하면 setSingleStep()를 사용하여 명시적으로 설정하지 않는 한 단일 단계 크기가 자동으로 조정됩니다. 단일 단계 크기를 -1로 설정하면 자동 조정을 복원할 수 있습니다.

상수설명
QAbstractItemView::ScrollPerItem0뷰에서 콘텐츠를 한 번에 한 항목씩 스크롤합니다.
QAbstractItemView::ScrollPerPixel1뷰에서 콘텐츠를 한 번에 한 픽셀씩 스크롤합니다.

enum QAbstractItemView::SelectionBehavior

상수설명
QAbstractItemView::SelectItems0단일 항목 선택.
QAbstractItemView::SelectRows1행만 선택합니다.
QAbstractItemView::SelectColumns2열만 선택합니다.

enum QAbstractItemView::SelectionMode

이 열거 형은 뷰가 사용자 선택에 응답하는 방식을 나타냅니다:

상수설명
QAbstractItemView::SingleSelection1사용자가 항목을 선택하면 이미 선택된 모든 항목이 선택 취소됩니다. 사용자가 선택한 항목을 클릭할 때 Ctrl 키를 눌러 선택한 항목을 선택 취소할 수 있습니다.
QAbstractItemView::ContiguousSelection4사용자가 일반적인 방법으로 항목을 선택하면 선택이 취소되고 새 항목이 선택됩니다. 그러나 사용자가 항목을 클릭하는 동안 Shift 키를 누르면 클릭한 항목의 상태에 따라 현재 항목과 클릭한 항목 사이의 모든 항목이 선택되거나 선택이 해제됩니다.
QAbstractItemView::ExtendedSelection3사용자가 일반적인 방법으로 항목을 선택하면 선택이 취소되고 새 항목이 선택됩니다. 그러나 사용자가 항목을 클릭할 때 Ctrl 키를 누르면 클릭한 항목이 토글되고 다른 모든 항목은 그대로 유지됩니다. 사용자가 항목을 클릭하는 동안 Shift 키를 누르면 클릭한 항목의 상태에 따라 현재 항목과 클릭한 항목 사이의 모든 항목이 선택되거나 선택 해제됩니다. 여러 항목을 마우스로 드래그하여 선택할 수 있습니다.
QAbstractItemView::MultiSelection2사용자가 일반적인 방법으로 항목을 선택하면 해당 항목의 선택 상태가 토글되고 다른 항목은 그대로 유지됩니다. 여러 항목은 마우스를 드래그하여 토글할 수 있습니다.
QAbstractItemView::NoSelection0항목은 선택할 수 없습니다.

가장 일반적으로 사용되는 모드는 단일 선택 및 확장 선택입니다.

enum QAbstractItemView::State

뷰가 있을 수 있는 다양한 상태를 설명합니다. 일반적으로 자체 뷰를 다시 구현할 때만 유용합니다.

Constant설명
QAbstractItemView::NoState0기본 상태입니다.
QAbstractItemView::DraggingState1사용자가 항목을 드래그하고 있습니다.
QAbstractItemView::DragSelectingState2사용자가 항목을 선택하고 있습니다.
QAbstractItemView::EditingState3사용자가 위젯 편집기에서 항목을 편집하고 있습니다.
QAbstractItemView::ExpandingState4사용자가 항목의 분기를 여는 중입니다.
QAbstractItemView::CollapsingState5사용자가 항목의 분기를 닫는 중입니다.
QAbstractItemView::AnimatingState6항목 보기에서 애니메이션을 실행하고 있습니다.

속성 문서

alternatingRowColors : bool

이 속성은 교대로 색상을 사용하여 배경을 그릴지 여부를 보유합니다.

이 속성이 true 인 경우 항목 배경은 QPalette::BaseQPalette::AlternateBase 을 사용하여 그려지고, 그렇지 않으면 배경은 QPalette::Base 색을 사용하여 그려집니다.

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

함수 액세스:

bool alternatingRowColors() const
void setAlternatingRowColors(bool enable)

autoScroll : bool

이 속성은 드래그 이동 이벤트에서 자동 스크롤을 사용할지 여부를 유지합니다.

이 속성을 true(기본값)로 설정하면 사용자가 뷰포트 가장자리에서 16픽셀 이내로 끌면 QAbstractItemView 뷰의 콘텐츠가 자동으로 스크롤됩니다. 현재 항목이 변경되면 뷰가 자동으로 스크롤되어 현재 항목이 완전히 표시되도록 합니다.

이 속성은 뷰포트가 드래그를 허용하는 경우에만 작동합니다. 이 속성을 false로 설정하면 자동 스크롤이 꺼집니다.

액세스 기능:

bool hasAutoScroll() const
void setAutoScroll(bool enable)

autoScrollMargin : int

이 속성은 자동 스크롤이 트리거될 때 영역의 크기를 유지합니다.

이 속성은 자동 스크롤을 트리거하는 뷰포트 가장자리 영역의 크기를 제어합니다. 기본값은 16픽셀입니다.

함수 액세스:

int autoScrollMargin() const
void setAutoScrollMargin(int margin)

defaultDropAction : Qt::DropAction

이 속성은 QAbstractItemView::drag()에서 기본적으로 사용되는 끌기 동작을 보유합니다.

속성이 설정되지 않은 경우, 지원되는 액션이 CopyAction을 지원할 때 드롭 액션은 CopyAction입니다.

함수에 액세스합니다:

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

showDropIndicatordragDropOverwriteMode참조하세요 .

dragDropMode : DragDropMode

이 속성에는 뷰가 작동할 끌어서 놓기 이벤트가 저장됩니다.

액세스 함수를 저장합니다:

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

showDropIndicatordragDropOverwriteMode참조하십시오 .

dragDropOverwriteMode : bool

이 속성은 뷰의 끌어서 놓기 동작을 유지합니다.

값이 true 인 경우 데이터를 끌어 놓으면 선택한 데이터가 기존 항목 데이터를 덮어쓰고, 데이터를 이동하면 항목이 지워집니다. 값이 false 인 경우 데이터를 끌어 놓으면 선택한 데이터가 새 항목으로 삽입됩니다. 데이터를 이동하면 항목도 제거됩니다.

기본값은 QListViewQTreeView 하위 클래스에서와 같이 false 입니다. 반면 QTableView 서브클래스에서는 속성이 true 으로 설정되어 있습니다.

참고: 이는 항목 덮어쓰기를 방지하기 위한 것이 아닙니다. 모델의 flags() 구현은 Qt::ItemIsDropEnabled 을 반환하지 않음으로써 그렇게 해야 합니다.

액세스 함수를 반환하지 않아야 합니다:

bool dragDropOverwriteMode() const
void setDragDropOverwriteMode(bool overwrite)

dragDropMode참조하세요 .

dragEnabled : bool

이 속성은 뷰가 자체 항목의 끌기를 지원하는지 여부를 나타냅니다.

액세스 기능을 지원합니다:

bool dragEnabled() const
void setDragEnabled(bool enable)

showDropIndicator, DragDropMode, dragDropOverwriteMode, acceptDrops참조하십시오 .

editTriggers : EditTriggers

이 속성에는 항목 수정을 시작할 작업이 저장됩니다.

이 속성은 EditTrigger 에 정의된 플래그의 선택 항목이며 OR 연산자를 사용하여 결합됩니다. 이 속성에서 수행되는 작업이 설정된 경우에만 뷰에서 항목 편집이 시작됩니다.

액세스 함수:

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

horizontalScrollMode : ScrollMode

뷰의 콘텐츠를 가로 방향으로 스크롤하는 방법

이 속성은 뷰의 콘텐츠를 가로로 스크롤하는 방법을 제어합니다. 스크롤은 픽셀 단위 또는 항목 단위로 수행할 수 있습니다. 기본값은 QStyle::SH_ItemView_ScrollMode 스타일 힌트를 통해 스타일에서 가져옵니다.

함수 액세스:

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

iconSize : QSize

이 속성은 항목의 아이콘 크기를 유지합니다.

뷰가 표시될 때 이 속성을 설정하면 항목이 다시 배치됩니다.

기능에 액세스합니다:

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

알림 신호:

void iconSizeChanged(const QSize &size)

selectionBehavior : SelectionBehavior

이 속성은 뷰에서 사용하는 선택 동작을 보유합니다.

이 속성에는 단일 항목, 행 또는 열 중 선택이 수행되는지 여부가 저장됩니다.

액세스 함수:

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

SelectionModeSelectionBehavior참조하십시오 .

selectionMode : SelectionMode

이 속성은 뷰가 작동하는 선택 모드를 보유합니다.

이 속성은 사용자가 하나 또는 여러 항목을 선택할 수 있는지 여부와 여러 항목 선택의 경우 선택 항목이 연속된 항목 범위여야 하는지 여부를 제어합니다.

액세스 함수:

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

SelectionModeSelectionBehavior참조하십시오 .

showDropIndicator : bool

이 속성은 항목을 끌어서 놓을 때 드롭 표시기를 표시할지 여부를 지정합니다.

액세스 함수:

bool showDropIndicator() const
void setDropIndicatorShown(bool enable)

dragEnabled, DragDropMode, dragDropOverwriteMode, acceptDrops참조하세요 .

tabKeyNavigation : bool

이 속성에는 탭 및 백탭을 사용한 항목 탐색이 활성화되어 있는지 여부가 저장됩니다.

액세스 기능:

bool tabKeyNavigation() const
void setTabKeyNavigation(bool enable)

textElideMode : Qt::TextElideMode

이 속성은 생략된 텍스트에서 '...'의 위치를 유지합니다.

모든 항목 보기의 기본값은 Qt::ElideRight 입니다.

액세스 함수:

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

verticalScrollMode : ScrollMode

뷰의 콘텐츠를 세로 방향으로 스크롤하는 방법

이 속성은 뷰의 콘텐츠를 세로로 스크롤하는 방법을 제어합니다. 스크롤은 픽셀 단위 또는 항목 단위로 수행할 수 있습니다. 기본값은 QStyle::SH_ItemView_ScrollMode 스타일 힌트를 통해 스타일에서 가져옵니다.

액세스 함수:

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

멤버 함수 문서

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

주어진 parent 으로 추상적인 항목 보기를 구성합니다.

[virtual noexcept] QAbstractItemView::~QAbstractItemView()

보기를 파괴합니다.

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

이 신호는 index 에서 지정한 항목을 사용자가 활성화할 때 발생합니다. 항목을 활성화하는 방법은 플랫폼에 따라 다릅니다(예: 항목을 한 번 또는 두 번 클릭하거나 항목이 현재 상태일 때 Return 또는 Enter 키를 누르는 방법).

clicked(), doubleClicked(), entered() 및 pressed()도 참조하세요 .

[slot] void QAbstractItemView::clearSelection()

선택한 모든 항목을 선택 취소합니다. 현재 인덱스는 변경되지 않습니다.

setSelection() 및 selectAll()도 참조하세요 .

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

이 신호는 마우스 버튼을 마우스 왼쪽 버튼으로 클릭할 때 발생합니다. 마우스가 클릭한 항목은 index 으로 지정됩니다. 이 신호는 인덱스가 유효한 경우에만 발생합니다.

activated(), doubleClicked(), entered() 및 pressed()도 참조하세요 .

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

지정된 editor 을 닫고 릴리스합니다. hint 은 편집 작업이 끝날 때 뷰가 어떻게 응답해야 하는지 지정하는 데 사용됩니다. 예를 들어 뷰의 다음 항목을 편집을 위해 열어야 한다는 힌트가 표시될 수 있습니다.

edit() 및 commitData()도 참조하십시오 .

void QAbstractItemView::closePersistentEditor(const QModelIndex &index)

지정된 index 에서 항목의 영구 편집기를 닫습니다.

openPersistentEditor() 및 isPersistentEditorOpen()도 참조하세요 .

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

editor 에 있는 데이터를 모델에 커밋합니다.

closeEditor()도 참조하세요 .

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

이 슬롯은 새 항목이 현재 항목이 될 때 호출됩니다. 이전 현재 항목은 previous 인덱스로, 새 항목은 current 인덱스로 지정됩니다.

항목의 변경 사항을 알고 싶으면 dataChanged() 신호를 참조하세요.

QModelIndex QAbstractItemView::currentIndex() const

현재 항목의 모델 인덱스를 반환합니다.

setCurrentIndex()도 참조하세요 .

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

이 슬롯은 모델에서 roles 이 지정된 항목이 변경될 때 호출됩니다. 변경된 항목은 topLeft 에서 bottomRight 로 변경된 항목입니다. 하나의 항목만 변경된 경우 topLeft == bottomRight.

변경된 roles 은 빈 컨테이너(모든 항목이 변경되었음을 의미)이거나 변경된 역할의 하위 집합이 있는 비어 있지 않은 컨테이너일 수 있습니다.

참고: : Qt::ToolTipRole 는 Qt XML에서 제공하는 뷰에서 dataChanged()가 지원하지 않습니다.

[protected] QPoint QAbstractItemView::dirtyRegionOffset() const

뷰에서 더티 영역의 오프셋을 반환합니다.

scrollDirtyRegion()를 사용하고 QAbstractItemView 의 하위 클래스에서 paintEvent()를 구현하는 경우 이 함수에서 반환된 오프셋을 사용하여 페인트 이벤트에 지정된 영역을 변환해야 합니다.

scrollDirtyRegion() 및 setDirtyRegion()도 참조하십시오 .

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

이 신호는 마우스 버튼을 더블클릭할 때 발생합니다. 마우스가 더블 클릭한 항목은 index 으로 지정됩니다. 이 신호는 인덱스가 유효한 경우에만 발생합니다.

clicked() 및 activated()도 참조하세요 .

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

다시 구현합니다: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent * 이벤트).

이 함수는 드래그 앤 드롭 작업이 위젯에 들어갈 때 주어진 event 과 함께 호출됩니다. 드래그가 유효한 드롭 위치(예: 드롭을 허용하는 항목 위)에 있으면 이벤트가 수락되고, 그렇지 않으면 무시됩니다.

dropEvent() 및 startDrag()도 참조하세요 .

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

다시 구현합니다: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent * 이벤트).

이 함수는 드래그 중인 항목이 뷰를 떠날 때 호출됩니다. event 은 드래그 앤 드롭 작업의 상태를 설명합니다.

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

다시 구현합니다: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent * 이벤트).

이 함수는 위젯을 드래그 앤 드롭하는 동안 지정된 event 와 함께 연속적으로 호출됩니다. 예를 들어 사용자가 선택 항목을 뷰의 오른쪽 또는 아래쪽 가장자리로 드래그하면 뷰가 스크롤될 수 있습니다. 이 경우 이벤트가 허용되지만 그렇지 않으면 무시됩니다.

dropEvent() 및 startDrag()도 참조하세요 .

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

다시 구현합니다: QAbstractScrollArea::dropEvent(QDropEvent * 이벤트).

이 함수는 위젯에서 드롭 이벤트가 발생하면 주어진 event 과 함께 호출됩니다. 모델이 짝수 위치를 수락하면 드롭 이벤트가 수락되고, 그렇지 않으면 무시됩니다.

startDrag()도 참조하세요 .

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

가장 가까운 항목을 기준으로 드롭 표시기의 위치를 반환합니다.

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

주어진 index 에 해당하는 항목이 수정 가능한 경우 수정을 시작합니다.

이 함수는 현재 색인을 변경하지 않습니다. 현재 색인은 편집할 다음 항목과 이전 항목을 정의하므로 사용자가 키보드 탐색이 예상대로 작동하지 않을 수 있습니다. 일관된 탐색 동작을 제공하려면 이 함수 앞에 동일한 모델 인덱스를 사용하여 setCurrentIndex()를 호출하세요.

QModelIndex::flags()도 참조하세요 .

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

index 에서 항목 편집을 시작하고 필요한 경우 편집기를 만든 다음 뷰의 State 가 현재 EditingState 인 경우 true 을 반환하고 그렇지 않으면 false 을 반환합니다.

편집 프로세스를 유발한 작업은 trigger 으로 설명되고 관련 이벤트는 event 으로 지정됩니다.

triggerQAbstractItemView::AllEditTriggers 으로 지정하여 편집을 강제할 수 있습니다.

closeEditor()도 참조하십시오 .

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

이 함수는 주어진 editor 이 파괴되었을 때 호출됩니다.

closeEditor()도 참조하세요 .

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

이 신호는 마우스 커서가 index 에 지정된 항목에 들어갈 때 방출됩니다. 이 기능을 사용하려면 마우스 추적을 활성화해야 합니다.

viewportEntered(), activated(), clicked(), doubleClicked() 및 pressed()도 참조하세요 .

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

다시 구현합니다: QAbstractScrollArea::event(QEvent * 이벤트).

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

다시 구현합니다: QObject::eventFilter(QObject *watched, QEvent *event).

[protected] void QAbstractItemView::executeDelayedItemsLayout()

이벤트 처리가 시작될 때까지 기다리지 않고 예약된 레이아웃을 실행합니다.

scheduleDelayedItemsLayout()도 참조하세요 .

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

다시 구현합니다: QWidget::focusInEvent(QFocusEvent * 이벤트).

이 함수는 위젯이 포커스를 획득할 때 주어진 event 과 함께 호출됩니다. 기본적으로 이벤트는 무시됩니다.

setFocus() 및 focusOutEvent()도 참조하세요 .

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

다시 구현합니다: QWidget::focusNextPrevChild(다음 부울).

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

다시 구현합니다: QWidget::focusOutEvent(QFocusEvent * 이벤트).

이 함수는 위젯이 포커스를 잃을 때 주어진 event 과 함께 호출됩니다. 기본적으로 이벤트는 무시됩니다.

clearFocus() 및 focusInEvent()도 참조하세요 .

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

뷰의 가로 오프셋을 반환합니다.

베이스 클래스에서 이것은 순수한 가상 함수입니다.

verticalOffset()도 참조하십시오 .

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

뷰포트 좌표에서 항목의 모델 인덱스를 반환합니다 point.

베이스 클래스에서 이것은 순수 가상 함수입니다.

visualRect()도 참조하십시오 .

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

지정된 index 에 있는 항목의 위젯을 반환합니다.

setIndexWidget()도 참조하세요 .

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

뷰의 팔레트, 글꼴, 상태, 정렬 등을 사용하여 option 구조를 초기화합니다.

참고: 이 메서드의 구현은 수신된 구조체의 version 을 확인하고, 구현이 익숙한 모든 멤버를 채우고, 버전 멤버를 구현에서 지원하는 것으로 설정한 후 반환해야 합니다.

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

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

다시 구현합니다: QWidget::inputMethodEvent(Q입력메소드이벤트 *이벤트).

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

재구현합니다: QWidget::inputMethodQuery(Qt::InputMethodQuery 쿼리) const.

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

지정된 index 에서 참조하는 항목이 뷰에서 숨겨져 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

숨기기는 뷰별 기능입니다. 예를 들어 TableView 에서 열을 숨김으로 표시하거나 TreeView 에서 행을 숨김으로 표시할 수 있습니다.

베이스 클래스에서 이 함수는 순수 가상 함수입니다.

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

인덱스 index 에서 항목에 대한 영구 편집기가 열려 있는지 여부를 반환합니다.

openPersistentEditor() 및 closePersistentEditor()도 참조하세요 .

QAbstractItemDelegate *QAbstractItemView::itemDelegate() const

이 뷰 및 모델에서 사용하는 항목 델리게이트를 반환합니다. setItemDelegate ()로 설정되거나 기본값입니다.

setItemDelegate()도 참조하세요 .

QAbstractItemDelegate *QAbstractItemView::itemDelegateForColumn(int column) const

주어진 column 에 대해 이 뷰 및 모델에서 사용하는 항목 델리게이트를 반환합니다. itemDelegate ()를 호출하여 주어진 인덱스에 대한 현재 대리자에 대한 포인터를 가져올 수 있습니다.

setItemDelegateForColumn(), itemDelegateForRow() 및 itemDelegate()도 참조하세요 .

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

주어진 index 에 대해 이 뷰와 모델에서 사용하는 항목 델리게이트를 반환합니다.

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

setItemDelegate(), setItemDelegateForRow() 및 setItemDelegateForColumn()도 참조하십시오 .

QAbstractItemDelegate *QAbstractItemView::itemDelegateForRow(int row) const

지정된 row, 또는 델리게이트가 할당되지 않은 경우 nullptr 에 대해 이 뷰 및 모델에서 사용하는 항목 델리게이트를 반환합니다. itemDelegate ()를 호출하여 주어진 인덱스에 대한 현재 대리자에 대한 포인터를 가져올 수 있습니다.

setItemDelegateForRow(), itemDelegateForColumn() 및 setItemDelegate()도 참조하세요 .

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

다시 구현합니다: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).

이 함수는 키 이벤트가 위젯으로 전송될 때 지정된 event 와 함께 호출됩니다. 기본 구현은 위, 아래, 왼쪽, 오른쪽, 홈, 페이지업, 페이지다운과 같은 기본적인 커서 이동을 처리하며, 현재 인덱스가 유효하고 활성화 키(예: 플랫폼에 따라 Enter 또는 Return)를 누르면 activated() 신호가 전송됩니다. 이 기능은 F2를 누르는 등 키를 눌러 편집이 시작되는 곳입니다.

edit(), moveCursor(), keyboardSearch() 및 tabKeyNavigation참조하세요 .

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

문자열 search 과 가장 일치하는 항목으로 이동하여 선택합니다. 항목을 찾지 못하면 아무 일도 일어나지 않습니다.

기본 구현에서는 search 이 비어 있거나 마지막 검색 이후 시간 간격이 QApplication::keyboardInputInterval()을 초과한 경우 검색이 재설정됩니다.

QAbstractItemModel *QAbstractItemView::model() const

이 뷰가 표시하는 모델을 반환합니다.

setModel()도 참조하십시오 .

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

다시 구현합니다: QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).

이 함수는 위젯 내에서 마우스 버튼을 두 번 클릭하면 주어진 event 과 함께 호출됩니다. 더블 클릭이 유효한 항목에 있으면 doubleClicked() 신호를 보내고 해당 항목에서 edit()를 호출합니다.

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

다시 구현합니다: QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).

이 함수는 마우스 이동 이벤트가 위젯으로 전송될 때 주어진 event 과 함께 호출됩니다. 선택이 진행 중이고 새 항목이 선택 영역 위로 이동하면 선택 영역이 확장되고, 드래그가 진행 중이면 드래그가 계속됩니다.

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

다시 구현합니다: QAbstractScrollArea::mousePressEvent(QMouseEvent *e).

이 함수는 커서가 위젯 안에 있는 동안 마우스 버튼을 누르면 주어진 event 과 함께 호출됩니다. 유효한 항목을 누르면 현재 항목이 만들어집니다. 이 함수는 pressed() 신호를 방출합니다.

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

다시 구현합니다: QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).

이 함수는 위젯에서 마우스 누르기 이벤트가 발생한 후 마우스 버튼이 해제될 때 주어진 event 과 함께 호출됩니다. 사용자가 위젯 안에서 마우스를 누른 다음 마우스 버튼을 놓기 전에 마우스를 다른 위치로 드래그하면 위젯이 릴리스 이벤트를 수신합니다. 이 함수는 항목을 누르고 있는 경우 clicked() 신호를 전송합니다.

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

주어진 cursorActionmodifiers 에 지정된 키보드 수정자를 기반으로 뷰의 다음 개체를 가리키는 QModelIndex 개체를 반환합니다.

베이스 클래스에서 이것은 순수한 가상 함수입니다.

void QAbstractItemView::openPersistentEditor(const QModelIndex &index)

지정된 index 에서 항목에 대한 영구 편집기를 엽니다. 편집기가 존재하지 않으면 대리인이 새 편집기를 만듭니다.

closePersistentEditor() 및 isPersistentEditorOpen()도 참조하세요 .

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

이 신호는 마우스 버튼을 눌렀을 때 방출됩니다. 마우스가 눌린 항목은 index 으로 지정됩니다. 이 신호는 인덱스가 유효한 경우에만 방출됩니다.

마우스 버튼의 상태를 가져오려면 QGuiApplication::mouseButtons() 함수를 사용합니다.

activated(), clicked(), doubleClicked() 및 entered()도 참조하세요 .

[virtual slot] void QAbstractItemView::reset()

뷰의 내부 상태를 재설정합니다.

경고: 이 함수는 열려 있는 편집기, 스크롤 막대 위치, 선택 내용 등을 초기화합니다. 기존 변경 내용은 커밋되지 않습니다. 뷰를 재설정할 때 변경 내용을 저장하려면 이 함수를 다시 구현하고 변경 내용을 커밋한 다음 슈퍼클래스의 구현을 호출하면 됩니다.

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

다시 구현합니다: QAbstractScrollArea::resizeEvent(QResizeEvent * 이벤트).

이 함수는 크기 조정 이벤트가 위젯으로 전송될 때 지정된 event 와 함께 호출됩니다.

QWidget::resizeEvent()도 참조하세요 .

QModelIndex QAbstractItemView::rootIndex() const

모델의 루트 항목의 모델 인덱스를 반환합니다. 루트 항목은 뷰의 최상위 항목에 대한 상위 항목입니다. 루트가 유효하지 않을 수 있습니다.

setRootIndex()도 참조하십시오 .

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

이 슬롯은 행을 제거하려고 할 때 호출됩니다. 삭제되는 행은 start 에서 end 까지 지정된 parent 아래의 행입니다.

rowsInserted()도 참조하세요 .

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

이 슬롯은 행이 삽입될 때 호출됩니다. 새 행은 start 에서 end 까지의 지정된 parent 아래에 있는 행입니다. 기본 클래스 구현은 모델에서 fetchMore()를 호출하여 더 많은 데이터를 확인합니다.

rowsAboutToBeRemoved()도 참조하세요 .

[protected] void QAbstractItemView::scheduleDelayedItemsLayout()

이벤트 처리가 시작될 때 실행될 뷰의 항목 레이아웃을 예약합니다.

이벤트가 처리되기 전에 scheduleDelayedItemsLayout()이 여러 번 호출되더라도 뷰는 레이아웃을 한 번만 수행합니다.

executeDelayedItemsLayout()도 참조하세요 .

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

더티 영역을 반대 방향으로 이동하여 뷰를 (dx,dy) 픽셀 단위로 스크롤할 수 있도록 준비합니다. 뷰 서브클래스에서 스크롤 뷰포트를 구현하는 경우에만 이 함수를 호출하면 됩니다.

QAbstractItemView 의 하위 클래스에서 scrollContentsBy() 를 구현하는 경우 뷰포트에서 QWidget::scroll() 를 호출하기 전에 이 함수를 호출하세요. 또는 update()를 호출하세요.

scrollContentsBy(), dirtyRegionOffset() 및 setDirtyRegion()도 참조하세요 .

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

필요한 경우 뷰를 스크롤하여 index 에 있는 항목이 표시되도록 합니다. 뷰는 주어진 hint 에 따라 항목의 위치를 지정하려고 시도합니다.

베이스 클래스에서 이것은 순수한 가상 함수입니다.

[slot] void QAbstractItemView::scrollToBottom()

보기를 아래로 스크롤합니다.

scrollTo() 및 scrollToTop()도 참조하세요 .

[slot] void QAbstractItemView::scrollToTop()

보기를 맨 위로 스크롤합니다.

scrollTo() 및 scrollToBottom()도 참조하세요 .

[virtual slot] void QAbstractItemView::selectAll()

뷰의 모든 항목을 선택합니다. 이 함수는 선택할 때 뷰에 설정된 선택 동작을 사용합니다.

setSelection(), selectedIndexes() 및 clearSelection()도 참조하십시오 .

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

이 편의 함수는 뷰에서 선택된 모든 항목 및 숨겨지지 않은 항목 인덱스의 목록을 반환합니다. 이 목록에는 중복 항목이 포함되지 않으며 정렬되지 않습니다.

QItemSelectionModel::selectedIndexes()도 참조하세요 .

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

이 슬롯은 선택 영역이 변경될 때 호출됩니다. 이전 선택 항목(비어 있을 수 있음)은 deselected 으로 지정하고 새 선택 항목은 selected 으로 지정합니다.

setSelection()도 참조하세요 .

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

지정된 index 에 대한 선택 모델을 업데이트할 때 사용할 SelectionFlags를 반환합니다. 결과는 현재 selectionMode() 및 사용자 입력 이벤트 event( nullptr 일 수 있음)에 따라 달라집니다.

이 함수를 다시 구현하여 고유한 선택 동작을 정의하세요.

setSelection()도 참조하세요 .

QItemSelectionModel *QAbstractItemView::selectionModel() const

현재 선택 모델을 반환합니다.

setSelectionModel() 및 selectedIndexes()도 참조하세요 .

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

현재 항목을 index 의 항목으로 설정합니다.

현재 선택 모드가 NoSelection 이 아닌 경우 항목도 선택됩니다. 이 함수는 사용자가 수행하는 모든 새 선택의 시작 위치도 업데이트합니다.

항목을 선택하지 않고 현재 항목으로 설정하려면 다음을 호출합니다.

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

currentIndex(), currentChanged() 및 selectionMode참조하세요 .

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

주어진 region 을 더티로 표시하고 업데이트하도록 예약합니다. 자체 뷰 서브클래스를 구현하는 경우에만 이 함수를 호출하면 됩니다.

scrollDirtyRegion() 및 dirtyRegionOffset()도 참조하세요 .

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

주어진 index 에 있는 항목에 주어진 widget 을 설정하여 위젯의 소유권을 뷰포트에 전달합니다.

index 가 유효하지 않은 경우(예: 루트 인덱스를 전달한 경우) 이 함수는 아무 작업도 수행하지 않습니다.

지정된 widgetautoFillBackground 속성을 true로 설정해야 하며, 그렇지 않으면 위젯의 배경이 투명하게 표시되어 모델 데이터와 지정된 index 에 있는 항목이 모두 표시됩니다.

참고: 뷰는 widget 의 소유권을 갖습니다. 즉, 인덱스 위젯 A가 인덱스 위젯 B로 대체되면 인덱스 위젯 A가 삭제됩니다. 예를 들어 아래 코드 조각에서는 QLineEdit 개체가 삭제됩니다.

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

이 함수는 데이터 항목에 해당하는 표시 영역 내에 정적 콘텐츠를 표시할 때만 사용해야 합니다. 사용자 정의 동적 콘텐츠를 표시하거나 사용자 정의 편집기 위젯을 구현하려면 QStyledItemDelegate 서브클래스를 대신 사용하세요.

indexWidget() 및 델리게이트 클래스도참조하세요 .

void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)

이 보기 및 해당 모델의 항목 위임자를 delegate 으로 설정합니다. 항목의 편집 및 표시를 완벽하게 제어하려는 경우에 유용합니다.

기존 위임자는 제거되지만 삭제되지는 않습니다. QAbstractItemViewdelegate 에 대한 소유권을 갖지 않습니다.

경고: 보기 간에 동일한 델리게이트 인스턴스를 공유해서는 안 됩니다. 그렇게 하면 특정 델리게이트에 연결된 각 보기가 closeEditor() 신호를 수신하고 이미 닫힌 편집기에 액세스, 수정 또는 닫으려고 시도할 수 있으므로 부정확하거나 직관적이지 않은 편집 동작이 발생할 수 있습니다.

itemDelegate()도 참조하세요 .

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

주어진 column 에 대해 이 뷰 및 모델에서 사용하는 지정된 항목 delegate 을 설정합니다. column 의 모든 항목은 기본 대리자(즉, itemDelegate())를 사용하는 대신 delegate 에 의해 그려지고 관리됩니다.

column 에 대한 기존 열 델리게이트는 제거되지만 삭제되지는 않습니다. QAbstractItemViewdelegate 에 대한 소유권을 갖지 않습니다.

참고: 대리인이 행과 열에 모두 할당된 경우 행 대리인이 우선권을 가지며 교차하는 셀 인덱스를 관리합니다.

경고: 뷰 간에 동일한 델리게이트 인스턴스를 공유해서는 안 됩니다. 그렇게 하면 특정 델리게이트에 연결된 각 뷰가 closeEditor() 신호를 수신하고 이미 닫힌 편집기에 액세스, 수정 또는 닫으려고 시도할 수 있으므로 부정확하거나 직관적이지 않은 편집 동작이 발생할 수 있습니다.

itemDelegateForColumn(), setItemDelegateForRow() 및 itemDelegate()도 참조하세요 .

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

주어진 row 에 대해 이 뷰 및 모델에서 사용하는 지정된 항목 delegate 을 설정합니다. row 의 모든 항목은 기본 대리자(즉, itemDelegate())를 사용하는 대신 delegate 에 의해 그려지고 관리됩니다.

row 에 대한 기존 행 위임자는 제거되지만 삭제되지는 않습니다. QAbstractItemViewdelegate 에 대한 소유권을 갖지 않습니다.

참고: 델리게이트가 행과 열에 모두 할당된 경우 행 델리게이트(즉, 이 델리게이트)가 우선권을 갖고 교차하는 셀 인덱스를 관리합니다.

경고: 뷰 간에 동일한 델리게이트 인스턴스를 공유해서는 안 됩니다. 그렇게 하면 특정 델리게이트에 연결된 각 보기가 closeEditor() 신호를 수신하고 이미 닫힌 편집기에 액세스, 수정 또는 닫으려고 시도할 수 있으므로 부정확하거나 직관적이지 않은 편집 동작이 발생할 수 있습니다.

itemDelegateForRow(), setItemDelegateForColumn() 및 itemDelegate()도 참조하세요 .

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

뷰에 표시할 model 을 설정합니다.

이 함수는 이전에 setSelectionModel()로 설정된 모든 모델을 대체하여 새 선택 모델을 만들고 설정합니다. 그러나 이전 선택 모델은 여러 뷰 간에 공유될 수 있으므로 삭제되지 않습니다. 더 이상 필요하지 않은 경우 이전 선택 모델을 삭제하는 것이 좋습니다. 이 작업은 다음 코드를 사용하여 수행합니다:

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

이전 모델과 이전 선택 모델에 모두 부모가 없거나 부모가 수명이 긴 개체인 경우 deleteLater() 함수를 호출하여 명시적으로 삭제하는 것이 좋습니다.

뷰는 모델이 여러 다른 뷰 간에 공유될 수 있으므로 모델의 부모 개체가 아닌 한 모델의 소유권을 갖지 않습니다.

model(), selectionModel() 및 setSelectionModel()도 참조하세요 .

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

루트 항목을 지정된 index 에 있는 항목으로 설정합니다.

rootIndex()도 참조하세요 .

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

사각형 안에 있거나 사각형이 터치한 항목에 flags 선택을 적용합니다( rect).

자체 아이템뷰를 구현할 때는 selectionModel()->select(선택, 플래그)를 호출해야 하며, 여기서 선택은 빈 QModelIndex 또는 rect 에 포함된 모든 항목을 포함하는 QItemSelection 입니다.

selectionCommand() 및 selectedIndexes()도 참조하세요 .

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

현재 선택 모델을 지정된 selectionModel 으로 설정합니다.

이 함수 뒤에 setModel()를 호출하면 지정된 selectionModel 이 뷰에서 만든 것으로 대체됩니다.

참고: 이전 선택 모델이 더 이상 필요하지 않은 경우(즉, 다른 뷰에서 사용하지 않는 경우) 삭제하는 것은 애플리케이션의 몫입니다. 이 작업은 상위 개체가 삭제되면 자동으로 수행됩니다. 그러나 부모가 없거나 부모가 수명이 긴 개체인 경우 deleteLater() 함수를 호출하여 명시적으로 삭제하는 것이 좋습니다.

selectionModel(), setModel() 및 clearSelection()도 참조하세요 .

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

항목 보기의 상태를 지정된 state 으로 설정합니다.

state()도 참조하세요 .

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

지정된 column 또는 모델이 없는 경우 -1에 대한 너비 크기 힌트를 반환합니다.

이 함수는 가로 머리글이 있는 뷰에서 지정된 column 의 내용을 기반으로 머리글 섹션의 크기 힌트를 찾는 데 사용됩니다.

sizeHintForRow()도 참조하십시오 .

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

지정된 index 또는 잘못된 인덱스의 경우 잘못된 크기의 항목에 대한 크기 힌트를 반환합니다.

sizeHintForRow() 및 sizeHintForColumn()도 참조하세요 .

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

지정된 row 또는 모델이 없는 경우 -1에 대한 높이 크기 힌트를 반환합니다.

반환된 높이는 지정된 row 항목의 크기 힌트를 사용하여 계산됩니다. 즉, 반환된 값은 항목 중 최대 높이입니다. 행의 높이를 제어하려면 QAbstractItemDelegate::sizeHint() 함수를 다시 구현해야 합니다.

이 함수는 세로 머리글이 있는 뷰에서 주어진 row 의 내용을 기반으로 머리글 섹션의 크기 힌트를 찾는 데 사용됩니다.

sizeHintForColumn()도 참조하세요 .

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

주어진 supportedActions 을 사용하여 drag->exec()을 호출하여 드래그를 시작합니다.

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

항목 보기의 상태를 반환합니다.

setState()도 참조하세요 .

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

다시 구현합니다: QObject::timerEvent(QTimerEvent * 이벤트).

이 함수는 타이머 이벤트가 위젯으로 전송될 때 주어진 event 와 함께 호출됩니다.

QObject::timerEvent()도 참조하세요 .

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

주어진 index 이 차지하는 영역을 업데이트합니다.

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

뷰의 자식 위젯의 지오메트리를 업데이트합니다.

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

뷰의 세로 오프셋을 반환합니다.

베이스 클래스에서 이것은 순수한 가상 함수입니다.

horizontalOffset()도 참조하십시오 .

[signal] void QAbstractItemView::viewportEntered()

이 신호는 마우스 커서가 뷰포트에 들어올 때 방출됩니다. 이 기능이 작동하려면 마우스 추적을 활성화해야 합니다.

entered()도 참조하세요 .

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

다시 구현합니다: QAbstractScrollArea::viewportEvent(QEvent * 이벤트).

이 함수는 주어진 eventQEvent::ToolTip 이거나 QEvent::WhatsThis 인 경우 도구 팁과 What's This? 모드를 처리하는 데 사용됩니다. 다른 모든 이벤트는 기본 클래스 viewportEvent() 핸들러로 전달합니다.

event 이 인식되어 처리된 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

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

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

index 에서 항목이 차지하는 뷰포트의 사각형을 반환합니다.

항목이 여러 영역에 표시되는 경우 visualRect는 인덱스가 포함하거나 터치하거나 그리기를 유발할 수 있는 전체 영역이 아닌 인덱스가 포함된 기본 영역을 반환해야 합니다.

베이스 클래스에서 이것은 순수한 가상 함수입니다.

indexAt() 및 visualRegionForSelection()도 참조하세요 .

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

주어진 selection 에 있는 항목의 뷰포트에서 영역을 반환합니다.

베이스 클래스에서 이것은 순수한 가상 함수입니다.

visualRect() 및 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.