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, 및 모델/보기 프로그래밍을참조하세요 .
속성 문서
[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.