QAbstractProxyModel Class

QAbstractProxyModel 클래스는 정렬, 필터링 또는 기타 데이터 처리 작업을 수행할 수 있는 프록시 항목 모델을 위한 베이스 클래스를 제공합니다. 더 보기...

헤더: #include <QAbstractProxyModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
상속합니다: QAbstractItemModel
상속받습니다:

QIdentityProxyModel, QSortFilterProxyModel, 그리고 QTransposeProxyModel

속성

공용 함수

QAbstractProxyModel(QObject *parent = nullptr)
virtual ~QAbstractProxyModel()
QBindable<QAbstractItemModel *> bindableSourceModel()
virtual QModelIndex mapFromSource(const QModelIndex &sourceIndex) const = 0
virtual QItemSelection mapSelectionFromSource(const QItemSelection &sourceSelection) const
virtual QItemSelection mapSelectionToSource(const QItemSelection &proxySelection) const
virtual QModelIndex mapToSource(const QModelIndex &proxyIndex) const = 0
virtual void setSourceModel(QAbstractItemModel *sourceModel)
QAbstractItemModel *sourceModel() const

재구현된 공용 함수

virtual QModelIndex buddy(const QModelIndex &index) const override
virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override
virtual bool canFetchMore(const QModelIndex &parent) const override
(since 6.0) virtual bool clearItemData(const QModelIndex &index) override
virtual QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const override
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
virtual void fetchMore(const QModelIndex &parent) override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
virtual QMap<int, QVariant> itemData(const QModelIndex &proxyIndex) const override
virtual QMimeData *mimeData(const QModelIndexList &indexes) const override
virtual QStringList mimeTypes() const override
virtual void revert() override
virtual QHash<int, QByteArray> roleNames() const override
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override
virtual bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override
virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const override
virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override
virtual QSize span(const QModelIndex &index) const override
virtual bool submit() override
virtual Qt::DropActions supportedDragActions() const override
virtual Qt::DropActions supportedDropActions() const override

신호

보호된 함수

(since 6.2) QModelIndex createSourceIndex(int row, int col, void *internalPtr) const

상세 설명

이 클래스는 프록시 모델이 다른 모델/뷰 컴포넌트와 올바르게 상호 운용하기 위해 사용해야 하는 표준 인터페이스를 정의합니다. 직접 인스턴스화되어서는 안 됩니다.

모든 표준 프록시 모델은 QAbstractProxyModel 클래스에서 파생됩니다. 새 프록시 모델 클래스를 만들어야 하는 경우 일반적으로 제공하려는 동작과 가장 가까운 동작을 제공하는 기존 클래스를 서브클래싱하는 것이 좋습니다.

소스 모델에서 데이터 항목을 필터링하거나 정렬하는 프록시 모델은 QSortFilterProxyModel 을 사용하거나 서브클래싱하여 만들어야 합니다.

QAbstractProxyModel을 서브클래싱하려면 mapFromSource() 및 mapToSource()을 구현해야 합니다. mapSelectionFromSource () 및 mapSelectionToSource() 함수는 기본 동작과 다른 동작이 필요한 경우에만 다시 구현하면 됩니다.

참고: 소스 모델이 삭제되거나 소스 모델이 지정되지 않은 경우 프록시 모델은 빈 자리 표시자 모델에서 작동합니다.

QSortFilterProxyModel, QAbstractItemModel, 및 모델/보기 프로그래밍을참조하세요 .

속성 문서

[bindable] sourceModel : QAbstractItemModel*

참고: 이 속성은 QProperty 바인딩을 지원합니다.

이 프로퍼티는 이 프록시 모델의 소스 모델을 보유합니다.

멤버 함수 문서

[explicit] QAbstractProxyModel::QAbstractProxyModel(QObject *parent = nullptr)

주어진 parent 으로 프록시 모델을 구축합니다.

[virtual noexcept] QAbstractProxyModel::~QAbstractProxyModel()

프록시 모델을 삭제합니다.

[override virtual] QModelIndex QAbstractProxyModel::buddy(const QModelIndex &index) const

재구현합니다: QAbstractItemModel::buddy(const QModelIndex &index) const.

[override virtual] bool QAbstractProxyModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const

재 구현합니다: QAbstractItemModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const.

[override virtual] bool QAbstractProxyModel::canFetchMore(const QModelIndex &parent) const

재구현합니다: QAbstractItemModel::canFetchMore(const QModelIndex &parent) const.

[override virtual, since 6.0] bool QAbstractProxyModel::clearItemData(const QModelIndex &index)

재구현합니다: QAbstractItemModel::clearItemData(const QModelIndex &index).

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

[protected, since 6.2] QModelIndex QAbstractProxyModel::createSourceIndex(int row, int col, void *internalPtr) const

소스 모델에서 createIndex를 호출하는 것과 동일합니다.

이 메서드는 프록시 모델에서 소스 모델에 있는 항목의 상위-하위 관계를 유지하려는 경우에 유용합니다. mapToSource ()를 다시 구현할 때 이 메서드를 호출하여 소스 모델의 행 row 및 열 col 에 대한 인덱스를 만들 수 있습니다.

일반적인 용도는 mapFromSource()를 다시 구현할 때 소스 모델에서 오는 내부 포인터를 프록시 인덱스에 저장하고 mapToSource()를 다시 구현할 때 internalPtr 과 동일한 내부 포인터를 사용하여 원래 소스 인덱스를 복구하는 것입니다.

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

[override virtual] QVariant QAbstractProxyModel::data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const

재구현합니다: QAbstractItemModel::data(const QModelIndex &index, int role) const.

setData()도 참조하십시오 .

[override virtual] bool QAbstractProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)

재구현합니다: QAbstractItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).

[override virtual] void QAbstractProxyModel::fetchMore(const QModelIndex &parent)

재구현합니다: QAbstractItemModel::fetchMore(const QModelIndex &parent).

[override virtual] Qt::ItemFlags QAbstractProxyModel::flags(const QModelIndex &index) const

재구현합니다: QAbstractItemModel::flags(const QModelIndex &index) const.

[override virtual] bool QAbstractProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) const

재구현합니다: QAbstractItemModel::hasChildren(const QModelIndex &parent) const.

[override virtual] QVariant QAbstractProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const

재구현합니다: QAbstractItemModel::headerData(int 섹션, Qt::오리엔테이션 방향, int 역할) const.

setHeaderData()도 참조하십시오 .

[override virtual] QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) const

재구현합니다: QAbstractItemModel::itemData(const QModelIndex &index) const.

setItemData()도 참조하십시오 .

[pure virtual invokable] QModelIndex QAbstractProxyModel::mapFromSource(const QModelIndex &sourceIndex) const

이 함수를 다시 구현하여 소스 모델에서 sourceIndex 에 해당하는 프록시 모델의 모델 인덱스를 반환합니다.

참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

mapToSource()도 참조하세요 .

[virtual invokable] QItemSelection QAbstractProxyModel::mapSelectionFromSource(const QItemSelection &sourceSelection) const

지정된 sourceSelection 에서 매핑된 프록시 선택 항목을 반환합니다.

소스 선택 항목을 프록시 선택 항목에 매핑하려면 이 메서드를 다시 구현합니다.

참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[virtual invokable] QItemSelection QAbstractProxyModel::mapSelectionToSource(const QItemSelection &proxySelection) const

지정된 proxySelection 에서 매핑된 소스 선택 항목을 반환합니다.

프록시 선택 항목을 소스 선택 항목에 매핑하려면 이 메서드를 다시 구현합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[pure virtual invokable] QModelIndex QAbstractProxyModel::mapToSource(const QModelIndex &proxyIndex) const

이 함수를 다시 구현하여 프록시 모델의 proxyIndex 에 해당하는 소스 모델의 모델 인덱스를 반환합니다.

참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

mapFromSource()도 참조하세요 .

[override virtual] QMimeData *QAbstractProxyModel::mimeData(const QModelIndexList &indexes) const

재구현합니다: QAbstractItemModel::mimeData(const QModelIndexList &indexes) const.

[override virtual] QStringList QAbstractProxyModel::mimeTypes() const

재구현합니다: QAbstractItemModel::mimeTypes() const.

[override virtual] void QAbstractProxyModel::revert()

다시 구현합니다: QAbstractItemModel::revert().

[override virtual] QHash<int, QByteArray> QAbstractProxyModel::roleNames() const

재구현합니다: QAbstractItemModel::roleNames() const.

[override virtual] bool QAbstractProxyModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

재구현합니다: QAbstractItemModel::setData(const Q모델인덱스 &index, const Q변수 &value, int 역할).

data()도 참조하세요 .

[override virtual] bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)

재구현합니다: QAbstractItemModel::setHeaderData(int section, Qt::오리엔테이션 오리엔테이션, const QVariant &value, int role).

headerData()도 참조하십시오 .

[override virtual] bool QAbstractProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)

재구현합니다: QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles).

itemData()도 참조하세요 .

[virtual] void QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel)

주어진 sourceModel 을 프록시 모델에서 처리하도록 설정합니다.

서브클래스는 메서드 시작 부분에서 beginResetModel()를 호출하고 이전 모델과의 연결을 끊은 후 이 메서드를 호출하고 새 모델에 연결한 다음 endResetModel()를 호출해야 합니다.

참고: 속성에 대한 세터 함수 sourceModel.

sourceModel()도 참조하세요 .

[override virtual] QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex &idx) const

재구현합니다: QAbstractItemModel::sibling(int row, int column, const QModelIndex &index) const.

[override virtual] void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)

재구현합니다: QAbstractItemModel::sort(int column, Qt::SortOrder 순서).

QAbstractItemModel *QAbstractProxyModel::sourceModel() const

프록시 모델을 통해 사용할 수 있는 데이터가 포함된 모델을 반환합니다.

참고: sourceModel 속성에 대한 게터 함수입니다.

setSourceModel()도 참조하세요 .

[override virtual] QSize QAbstractProxyModel::span(const QModelIndex &index) const

재구현합니다: QAbstractItemModel::span(const QModelIndex &index) const.

[override virtual] bool QAbstractProxyModel::submit()

다시 구현합니다: QAbstractItemModel::submit().

[override virtual] Qt::DropActions QAbstractProxyModel::supportedDragActions() const

재구현합니다: QAbstractItemModel::supportedDragActions() const.

[override virtual] Qt::DropActions QAbstractProxyModel::supportedDropActions() const

재구현합니다: QAbstractItemModel::supportedDropActions() const.

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