QAbstractProxyModel Class
QAbstractProxyModel クラスは、ソートやフィルタリング、その他のデータ処理タスクを行うプロキシ項目モデルの基底クラスを提供します。詳細...
Header: | #include <QAbstractProxyModel> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Inherits: | QAbstractItemModel |
Inherited By: | QIdentityProxyModel, QSortFilterProxyModel, and QTransposeProxyModel |
プロパティ
- sourceModel : QAbstractItemModel*
パブリック関数
QAbstractProxyModel(QObject *parent = nullptr) | |
virtual | ~QAbstractProxyModel() |
QBindable<QAbstractItemModel *> | bindableSourceModel() |
virtual QModelIndex | mapFromSource(const QModelIndex &sourceIndex) const = 0 |
virtual QItemSelection | mapSelectionFromSource(const QItemSelection &sourceSelection) const |
virtual QItemSelection | mapSelectionToSource(const QItemSelection &proxySelection) const |
virtual QModelIndex | mapToSource(const QModelIndex &proxyIndex) const = 0 |
virtual void | setSourceModel(QAbstractItemModel *sourceModel) |
QAbstractItemModel * | sourceModel() const |
再実装パブリック関数
virtual QModelIndex | buddy(const QModelIndex &index) const override |
virtual bool | canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override |
virtual bool | canFetchMore(const QModelIndex &parent) const override |
(since 6.0) virtual bool | clearItemData(const QModelIndex &index) override |
virtual QVariant | data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const override |
virtual bool | dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
virtual void | fetchMore(const QModelIndex &parent) override |
virtual Qt::ItemFlags | flags(const QModelIndex &index) const override |
virtual bool | hasChildren(const QModelIndex &parent = QModelIndex()) const override |
virtual QVariant | headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) 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 void | revert() override |
virtual QHash<int, QByteArray> | roleNames() const override |
virtual bool | setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override |
virtual bool | setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override |
virtual bool | setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override |
virtual QModelIndex | sibling(int row, int column, const QModelIndex &idx) const override |
virtual void | sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override |
virtual QSize | span(const QModelIndex &index) const override |
virtual bool | submit() override |
virtual Qt::DropActions | supportedDragActions() const override |
virtual Qt::DropActions | supportedDropActions() const override |
シグナル
void | sourceModelChanged() |
保護された関数
(since 6.2) QModelIndex | createSourceIndex(int row, int col, void *internalPtr) const |
詳細な説明
このクラスは、プロキシモデルが他のモデル/ビューコンポーネントと正しく相互運用するために使わなければならない標準インターフェースを定義します。直接インスタンス化されることは想定されていません。
全ての標準プロキシモデルは QAbstractProxyModel クラスから派生します。新しいプロキシモデルクラスを作成する必要がある場合、通常は、提供したい動作に最も近い動作を提供する既存のクラスをサブクラス化する方が良いでしょう。
ソース・モデルからデータの項目をフィルタリングしたりソートしたりするプロキシ・モデルは、QSortFilterProxyModel を使用するかサブクラス化して作成する必要があります。
QAbstractProxyModel をサブクラス化するには、mapFromSource() とmapToSource() を実装する必要があります。mapSelectionFromSource() およびmapSelectionToSource() 関数を再実装する必要があるのは、デフォルトの動作と異なる動作が必要な場合だけです。
注釈 ソース・モデルが削除されているか、ソース・モデルが指定されていない場合、プロキシ・モデルは空のプレースホルダ・モ デルを操作します。
QSortFilterProxyModel 、QAbstractItemModel 、モデル/ビュー・プログラミングも参照してください 。
プロパティー ドキュメント
[bindable]
sourceModel : QAbstractItemModel*
注: このプロパティは、QProperty バインディングをサポートします。
このプロパティは、このプロキシモデルのソースモデルを保持します。
メンバ関数のドキュメント
[explicit]
QAbstractProxyModel::QAbstractProxyModel(QObject *parent = nullptr)
与えられたparent でプロキシモデルを構築します。
[virtual noexcept]
QAbstractProxyModel::~QAbstractProxyModel()
プロキシモデルを破棄します。
[override virtual]
QModelIndex QAbstractProxyModel::buddy(const QModelIndex &index) const
再実装します:QAbstractItemModel::buddy(const QModelIndex &index) const.
[override virtual]
bool QAbstractProxyModel::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]
bool QAbstractProxyModel::canFetchMore(const QModelIndex &parent) const
再実装:QAbstractItemModel::canFetchMore(const QModelIndex &parent) const.
[override virtual, since 6.0]
bool QAbstractProxyModel::clearItemData(const QModelIndex &index)
再インプリメント:QAbstractItemModel::clearItemData(const QModelIndex &index)。
この関数は Qt 6.0 で導入されました。
[protected, since 6.2]
QModelIndex QAbstractProxyModel::createSourceIndex(int row, int col, void *internalPtr) const
ソースモデル上で createIndex を呼び出すのと同等です。
このメソッドは、プロキシ・モデルがソース・モデルのアイテムの親子関係を維持したい場合に便利です。mapToSource() を再実装する場合、このメソッドを呼び出して、ソースモデルの行row と列col のインデックスを作成することができます。
典型的な使用方法は、mapFromSource() を再実装する際に、ソースモデルから来る内部ポインタをプロキシインデックスに保存し、mapToSource() を再実装する際に、internalPtr と同じ内部ポインタを使用して元のソースインデックスを復元することです。
この関数は Qt 6.2 で導入されました。
[override virtual]
QVariant QAbstractProxyModel::data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const
再実装:QAbstractItemModel::data(const QModelIndex &index, int role) const.
setData()も参照してください 。
[override virtual]
bool QAbstractProxyModel::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).
[override virtual]
void QAbstractProxyModel::fetchMore(const QModelIndex &parent)
再実装:QAbstractItemModel::fetchMore(const QModelIndex &parent)。
[override virtual]
Qt::ItemFlags QAbstractProxyModel::flags(const QModelIndex &index) const
再インプリメント:QAbstractItemModel::flags(const QModelIndex &index) const.
[override virtual]
bool QAbstractProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) const
再実装:QAbstractItemModel::hasChildren(const QModelIndex &parent) const.
[override virtual]
QVariant QAbstractProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
再実装:QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const.
setHeaderData()も参照してください 。
[override virtual]
QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) const
再実装:QAbstractItemModel::itemData(const QModelIndex &index) const.
setItemData() も参照して ください。
[pure virtual invokable]
QModelIndex QAbstractProxyModel::mapFromSource(const QModelIndex &sourceIndex) const
この関数を再実装して、ソース・モデルからsourceIndex に対応するプロキシ・モデルのモデル・インデックスを返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
mapToSource()も参照してください 。
[virtual invokable]
QItemSelection QAbstractProxyModel::mapSelectionFromSource(const QItemSelection &sourceSelection) const
指定されたsourceSelection からマッピングされたプロキシ選択を返します。
ソース・セレクションをプロキシ・セレクションにマップするには、このメソッドを再実装します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[virtual invokable]
QItemSelection QAbstractProxyModel::mapSelectionToSource(const QItemSelection &proxySelection) const
指定されたproxySelection からマップされたソースセレクションを返します。
プロキシ選択範囲をソース選択範囲にマッピングするには、このメソッドを再実装します。
注意: この関数はメタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[pure virtual invokable]
QModelIndex QAbstractProxyModel::mapToSource(const QModelIndex &proxyIndex) const
この関数を再実装して、プロキシ・モデルのproxyIndex に対応するソース・モデルのモデル・インデックスを返します。
注意: この関数はメタオブジェクトシステム経由でもQMLからも呼び出すことができます。Q_INVOKABLE を参照してください。
mapFromSource()も参照してください 。
[override virtual]
QMimeData *QAbstractProxyModel::mimeData(const QModelIndexList &indexes) const
再実装:QAbstractItemModel::mimeData(const QModelIndexList &indexes) const.
[override virtual]
QStringList QAbstractProxyModel::mimeTypes() const
再リプルメント: (const QModelIndexList &indexes) const:QAbstractItemModel::mimeTypes() const.
[override virtual]
void QAbstractProxyModel::revert()
再リプルメント: (const QModelIndexList &indexes) const:QAbstractItemModel::revert().
[override virtual]
QHash<int, QByteArray> QAbstractProxyModel::roleNames() const
再リプルメント:QAbstractItemModel::roleNames() const.
[override virtual]
bool QAbstractProxyModel::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 QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)
再インプリメント:QAbstractItemModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role)。
headerData() も参照して ください。
[override virtual]
bool QAbstractProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
再実装:QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)。
itemData()も参照して ください。
[virtual]
void QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel)
与えられたsourceModel をプロキシモデルによって処理されるように設定します。
サブクラスは、メソッドの最初にbeginResetModel() を呼び出し、古いモデルから切断し、このメソッドを呼び出し、新しいモデルに接続し、endResetModel() を呼び出す必要があります。
注釈 sourceModel プロパティのセッター関数です。
sourceModel()も参照してください 。
[override virtual]
QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex &idx) const
再実装:QAbstractItemModel::sibling(int row, int column, const QModelIndex &index) const.
[override virtual]
void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
再実装: (int row, int column, const QModelIndex &index) const:QAbstractItemModel::sort(int column, Qt::SortOrder order)。
QAbstractItemModel *QAbstractProxyModel::sourceModel() const
プロキシモデルを通して利用可能なデータを含むモデルを返します。
注: sourceModel プロパティのゲッター関数です。
setSourceModel()も参照してください 。
[override virtual]
QSize QAbstractProxyModel::span(const QModelIndex &index) const
再実装:QAbstractItemModel::span(const QModelIndex &index) const.
[override virtual]
bool QAbstractProxyModel::submit()
再実装: (const QModelIndex &index) const:QAbstractItemModel::submit().
[override virtual]
Qt::DropActions QAbstractProxyModel::supportedDragActions() const
再リプルメント: (const QModelIndex &index) const:QAbstractItemModel::supportedDragActions() const.
[override virtual]
Qt::DropActions QAbstractProxyModel::supportedDropActions() const
再リプルメント:QAbstractItemModel::supportedDropActions() const.
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。