QConcatenateTablesProxyModel Class

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

Header: #include <QConcatenateTablesProxyModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Inherits: 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.

©2024 The Qt Company Ltd. ここに含まれるドキュメントのコントリビューションの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。