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.