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 |
속성
- sourceModel : QAbstractItemModel*
공개 함수
| 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 |
신호
| void | sourceModelChanged() |
보호된 함수
(since 6.2) QModelIndex | createSourceIndex(int row, int col, void *internalPtr) const |
상세 설명
이 클래스는 프록시 모델이 다른 모델/뷰 컴포넌트와 올바르게 상호 운용되기 위해 반드시 사용해야 하는 표준 인터페이스를 정의합니다. 이 클래스는 직접 인스턴스화되어서는 안 됩니다.
모든 표준 프록시 모델은 QAbstractProxyModel 클래스에서 파생됩니다. 새로운 프록시 모델 클래스를 생성해야 하는 경우, 일반적으로 원하는 동작과 가장 유사한 동작을 제공하는 기존 클래스를 상속하는 것이 더 좋습니다.
소스 모델의 데이터 항목을 필터링하거나 정렬하는 프록시 모델은 ` QSortFilterProxyModel`을 사용하거나 이를 상속하여 생성해야 합니다.
QAbstractProxyModel을 상속하려면 mapFromSource() 및 mapToSource()을 구현해야 합니다. mapSelectionFromSource() 및 mapSelectionToSource() 함수는 기본 동작과 다른 동작이 필요한 경우에만 재구현하면 됩니다.
참고: 소스 모델이 삭제되었거나 소스 모델이 지정되지 않은경우 , 프록시 모델은 빈 자리 표시자 모델을 대상으로 작동합니다.
참조: QSortFilterProxyModel, QAbstractItemModel 및 Model/View 프로그래밍.
속성 문서
[bindable] sourceModel : QAbstractItemModel*
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 속성은 이 프록시 모델의 소스 모델을 포함합니다.
액세스 함수:
| QAbstractItemModel * | sourceModel() const |
| virtual void | setSourceModel(QAbstractItemModel *sourceModel) |
알림 신호:
| void | sourceModelChanged() | [see note below] |
참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수 있지만, 사용자가 직접 발산할 수는 없습니다.
멤버 함수 문서
[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 section, Qt::Orientation orientation, int role) 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 QModelIndex &index, const QVariant &value, int role)을 재구현합니다.
data()도 참조하십시오 .
[override virtual] bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)
QAbstractItemModel::setHeaderData(int section, Qt::Orientation orientation, 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 order)를 재구현합니다.
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를 재구현합니다.
© 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.