The QAbstractProxyModel class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks. More...
Header: | #include <QAbstractProxyModel> |
qmake: | QT += core |
Since: | Qt 4.1 |
Inherits: | QAbstractItemModel |
Inherited By: |
QAbstractProxyModel(QObject *parent = nullptr) | |
virtual | ~QAbstractProxyModel() |
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 |
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 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() |
void | resetInternalData() |
The QAbstractProxyModel class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks.
This class defines the standard interface that proxy models must use to be able to interoperate correctly with other model/view components. It is not supposed to be instantiated directly.
All standard proxy models are derived from the QAbstractProxyModel class. If you need to create a new proxy model class, it is usually better to subclass an existing class that provides the closest behavior to the one you want to provide.
Proxy models that filter or sort items of data from a source model should be created by using or subclassing QSortFilterProxyModel.
To subclass QAbstractProxyModel, you need to implement mapFromSource() and mapToSource(). The mapSelectionFromSource() and mapSelectionToSource() functions only need to be reimplemented if you need a behavior different from the default behavior.
Note: If the source model is deleted or no source model is specified, the proxy model operates on a empty placeholder model.
See also QSortFilterProxyModel, QAbstractItemModel, and Model/View Programming.
This property holds the source model of this proxy model.
Access functions:
QAbstractItemModel * | sourceModel() const |
virtual void | setSourceModel(QAbstractItemModel *sourceModel) |
Notifier signal:
void | sourceModelChanged() | [see note below] |
Note: This is a private signal. It can be used in signal connections but cannot be emitted by the user.
Constructs a proxy model with the given parent.
[virtual]
QAbstractProxyModel::~QAbstractProxyModel()Destroys the proxy model.
[override virtual]
QModelIndex QAbstractProxyModel::buddy(const
QModelIndex &index) constReimplemented from QAbstractItemModel::buddy().
[override virtual]
bool QAbstractProxyModel::canDropMimeData(const
QMimeData *data, Qt::DropAction action, int row, int column,
const QModelIndex &parent) constReimplemented from QAbstractItemModel::canDropMimeData().
This function was introduced in Qt 5.4.
[override virtual]
bool QAbstractProxyModel::canFetchMore(const QModelIndex &parent) constReimplemented from QAbstractItemModel::canFetchMore().
[override virtual]
QVariant QAbstractProxyModel::data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) constReimplemented from QAbstractItemModel::data().
See also setData().
[override virtual]
bool QAbstractProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const
QModelIndex &parent)Reimplemented from QAbstractItemModel::dropMimeData().
This function was introduced in Qt 5.4.
[override virtual]
void QAbstractProxyModel::fetchMore(const QModelIndex &parent)Reimplemented from QAbstractItemModel::fetchMore().
[override virtual]
Qt::ItemFlags QAbstractProxyModel::flags(const QModelIndex &index) constReimplemented from QAbstractItemModel::flags().
[override virtual]
bool QAbstractProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) constReimplemented from QAbstractItemModel::hasChildren().
[override virtual]
QVariant QAbstractProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) constReimplemented from QAbstractItemModel::headerData().
See also setHeaderData().
[override virtual]
QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) constReimplemented from QAbstractItemModel::itemData().
See also setItemData().
[pure virtual]
QModelIndex QAbstractProxyModel::mapFromSource(const QModelIndex &sourceIndex) constReimplement this function to return the model index in the proxy model that corresponds to the sourceIndex from the source model.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also mapToSource().
[virtual]
QItemSelection
QAbstractProxyModel::mapSelectionFromSource(const QItemSelection &sourceSelection) constReturns a proxy selection mapped from the specified sourceSelection.
Reimplement this method to map source selections to proxy selections.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[virtual]
QItemSelection
QAbstractProxyModel::mapSelectionToSource(const QItemSelection &proxySelection) constReturns a source selection mapped from the specified proxySelection.
Reimplement this method to map proxy selections to source selections.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[pure virtual]
QModelIndex QAbstractProxyModel::mapToSource(const QModelIndex &proxyIndex) constReimplement this function to return the model index in the source model that corresponds to the proxyIndex in the proxy model.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also mapFromSource().
[override virtual]
QMimeData *QAbstractProxyModel::mimeData(const QModelIndexList &indexes) constReimplemented from QAbstractItemModel::mimeData().
[override virtual]
QStringList QAbstractProxyModel::mimeTypes() constReimplemented from QAbstractItemModel::mimeTypes().
[protected slot]
void QAbstractProxyModel::resetInternalData()Clears the roleNames of this proxy model.
[override virtual]
void QAbstractProxyModel::revert()Reimplemented from QAbstractItemModel::revert().
[override virtual]
bool QAbstractProxyModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)Reimplemented from QAbstractItemModel::setData().
See also data().
[override virtual]
bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role =
Qt::EditRole)Reimplemented from QAbstractItemModel::setHeaderData().
See also headerData().
[override virtual]
bool QAbstractProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)Reimplemented from QAbstractItemModel::setItemData().
See also itemData().
[virtual]
void QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel)Sets the given sourceModel to be processed by the proxy model.
Subclasses should call beginResetModel() at the beginning of the method, disconnect from the old model, call this method, connect to the new model, and call endResetModel().
Note: Setter function for property sourceModel.
See also sourceModel().
[override virtual]
QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex &idx) constReimplemented from QAbstractItemModel::sibling().
[override virtual]
void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)Reimplemented from QAbstractItemModel::sort().
Returns the model that contains the data that is available through the proxy model.
Note: Getter function for property sourceModel.
See also setSourceModel().
[override virtual]
QSize QAbstractProxyModel::span(const QModelIndex &index) constReimplemented from QAbstractItemModel::span().
[override virtual]
bool QAbstractProxyModel::submit()Reimplemented from QAbstractItemModel::submit().
[override virtual]
Qt::DropActions QAbstractProxyModel::supportedDragActions() constReimplemented from QAbstractItemModel::supportedDragActions().
[override virtual]
Qt::DropActions QAbstractProxyModel::supportedDropActions() constReimplemented from QAbstractItemModel::supportedDropActions().