QConcatenateTablesProxyModel Class

QConcatenateTablesProxyModel 클래스는 여러 소스 모델을 프록시하여 해당 행을 연결합니다. 더 보기...

Header: #include <QConcatenateTablesProxyModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
상속합니다: QAbstractItemModel

공용 함수

QConcatenateTablesProxyModel(QObject *parent = nullptr)
virtual ~QConcatenateTablesProxyModel()
void addSourceModel(QAbstractItemModel *sourceModel)
QModelIndex mapFromSource(const QModelIndex &sourceIndex) const
QModelIndex mapToSource(const QModelIndex &proxyIndex) const
void removeSourceModel(QAbstractItemModel *sourceModel)
QList<QAbstractItemModel *> sourceModels() const

재구현된 공용 함수

virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) 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 QModelIndex parent(const QModelIndex &index) const override
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
virtual bool setItemData(const QModelIndex &proxyIndex, const QMap<int, QVariant> &roles) override
virtual QSize span(const QModelIndex &index) const override

상세 설명

QConcatenateTablesProxyModel은 여러 소스 모델을 가져와서 그 행을 연결합니다.

즉, 프록시는 첫 번째 소스 모델의 모든 행과 두 번째 소스 모델의 모든 행을 갖게 됩니다.

소스 모델의 열 수가 같지 않은 경우 프록시는 열 수가 가장 적은 소스 모델의 열 수만큼만 열을 갖게 됩니다. 다른 소스 모델의 추가 열은 무시됩니다.

소스 모델은 런타임에 추가 및 제거할 수 있으며 그에 따라 열 수가 조정됩니다.

이 프록시는 단일 모델이 아닌 여러 소스 모델을 사용하기 때문에 QAbstractProxyModel 에서 상속되지 않습니다.

플랫 모델(목록 및 테이블)만 지원되며 트리 모델은 지원되지 않습니다.

QAbstractProxyModel, 모델/뷰 프로그래밍, QIdentityProxyModel, 및 QAbstractItemModel참조하세요 .

멤버 함수 문서

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

주어진 parent 을 사용하여 연결 행 프록시 모델을 구축합니다.

[virtual noexcept] QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel()

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

void QConcatenateTablesProxyModel::addSourceModel(QAbstractItemModel *sourceModel)

이전에 추가된 모든 소스 모델 아래에 소스 모델 sourceModel 을 추가합니다.

sourceModel 의 소유권은 영향을 받지 않습니다.

동일한 소스 모델은 두 번 이상 추가할 수 없습니다.

[override virtual] bool QConcatenateTablesProxyModel::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] int QConcatenateTablesProxyModel::columnCount(const QModelIndex &parent = QModelIndex()) const

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

이 메서드는 열 수가 가장 적은 소스 모델의 열 수를 반환합니다.

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

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

setData()도 참조하십시오 .

[override virtual] bool QConcatenateTablesProxyModel::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).

QConcatenateTablesProxyModel 는 항목 위로, 항목 사이, 마지막 항목 뒤에 놓기를 처리합니다. 모든 경우에 호출은 기본 소스 모델로 전달됩니다. 항목에 놓을 때는 이 항목의 소스 모델이 호출됩니다. 항목 사이에 놓을 때는 놓는 위치 바로 아래의 소스 모델이 호출됩니다. 마지막 항목 다음에 놓을 때는 마지막 소스 모델이 호출됩니다.

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

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

지정된 인덱스의 플래그를 반환합니다. index 이 유효하면, 플래그는 이 index 의 소스 모델에서 가져옵니다. index 이 유효하지 않은 경우(예를 들어 뷰의 빈 영역에 끌어 놓기가 허용되는지 여부를 결정하는 데 사용됨) 첫 번째 모델의 플래그가 반환됩니다.

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

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

이 메서드는 첫 번째 소스 모델의 가로 헤더 데이터와 각 행에 대응하는 소스 모델의 세로 헤더 데이터를 반환합니다.

[override virtual] QModelIndex QConcatenateTablesProxyModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

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

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

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

setItemData()도 참조하십시오 .

QModelIndex QConcatenateTablesProxyModel::mapFromSource(const QModelIndex &sourceIndex) const

주어진 sourceIndex 에 대한 프록시 인덱스를 반환하며, 이는 모든 소스 모델에서 가져올 수 있습니다.

QModelIndex QConcatenateTablesProxyModel::mapToSource(const QModelIndex &proxyIndex) const

주어진 proxyIndex 에 대한 소스 인덱스를 반환합니다.

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

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

호출은 indexes 목록에서 첫 번째 인덱스의 소스 모델로 전달됩니다.

중요: 이 프록시는 단일 행 드래그만 지원한다는 점에 유의하세요. 여러 행의 인덱스로 호출하면 이 프록시 모델에서는 다른 소스 모델에서 가져올 수 있는 행 드래그를 일반적으로 구현할 수 없기 때문에 어설프게 호출됩니다. QMimeData 의 각 데이터 조각은 병합되어야 하며, 이는 데이터 유형에 따라 다릅니다. 여러 행 드래그를 지원하려면 하위 클래스에서 이 메서드를 다시 구현하세요.

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

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

이 메서드는 첫 번째 소스 모델의 마임 타입을 반환합니다.

[override virtual] QModelIndex QConcatenateTablesProxyModel::parent(const QModelIndex &index) const

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

void QConcatenateTablesProxyModel::removeSourceModel(QAbstractItemModel *sourceModel)

이전에 이 프록시에 추가되었던 소스 모델 sourceModel 을 제거합니다.

sourceModel 의 소유권은 영향을 받지 않습니다.

[override virtual] int QConcatenateTablesProxyModel::rowCount(const QModelIndex &parent = QModelIndex()) const

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

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

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

data()도 참조하세요 .

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

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

itemData()도 참조하세요 .

QList<QAbstractItemModel *> QConcatenateTablesProxyModel::sourceModels() const

이 프록시 모델의 소스 모델로 추가된 모델 목록을 반환합니다.

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

재구현합니다: QAbstractItemModel::span(const QModelIndex &index) 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.