QConcatenateTablesProxyModel Class

QConcatenateTablesProxyModel クラスは、複数のソースモデルをプロキシし、それらの行を連結します。詳細...

ヘッダ #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 は複数のソースモデルを受け取り、それらの行を連結します。

言い換えると、プロキシは最初のソース・モデルのすべての行を持ち、その後に 2 番目のソース・モデルのすべての行が続きます。

ソース・モデルの列数が同じでない場合、プロキシは、列数が最小のソース・モデルと同じ数の列のみを持ちます。他のソース・モデルの追加の列は単に無視されます。

ソースモデルは実行時に追加および削除することができ、列数はそれに応じて調整されます。

このプロキシは、単一のソース・モデルではなく複数のソース・モデルを使用するため、QAbstractProxyModel から継承されません。

フラットモデル(リストとテーブル)のみがサポートされ、ツリーモデルはサポートされません。

QAbstractProxyModelモデル/ビュー・プログラミングQIdentityProxyModel 、およびQAbstractItemModelも参照してください

メンバ関数のドキュメント

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

与えられたparent を持つ concatenate-rows プロキシモデルを構築します。

[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::Orientation orientation, int role) 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.

このメソッドは、最初のソース・モデルの MIME タイプを返します。

[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 QModelIndex &index, const QVariant &value, int role)。

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.