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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。