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

プロパティ

パブリック関数

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

シグナル

保護された関数

(since 6.2) QModelIndex createSourceIndex(int row, int col, void *internalPtr) const

詳細な説明

このクラスは、プロキシモデルが他のモデル/ビューコンポーネントと正しく相互運用するために使わなければならない標準インターフェースを定義します。直接インスタンス化されることは想定されていません。

全ての標準プロキシモデルは QAbstractProxyModel クラスから派生します。新しいプロキシモデルクラスを作成する必要がある場合、通常は、提供したい動作に最も近い動作を提供する既存のクラスをサブクラス化する方が良いでしょう。

ソース・モデルからデータの項目をフィルタリングしたりソートしたりするプロキシ・モデルは、QSortFilterProxyModel を使用するかサブクラス化して作成する必要があります。

QAbstractProxyModel をサブクラス化するには、mapFromSource() とmapToSource() を実装する必要があります。mapSelectionFromSource() およびmapSelectionToSource() 関数を再実装する必要があるのは、デフォルトの動作と異なる動作が必要な場合だけです。

注釈 ソース・モデルが削除されているか、ソース・モデルが指定されていない場合、プロキシ・モデルは空のプレースホルダ・モ デルを操作します。

QSortFilterProxyModelQAbstractItemModelモデル/ビュー・プログラミングも参照してください

プロパティー ドキュメント

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