QAbstractProxyModel Class

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:

QIdentityProxyModel, QSortFilterProxyModel, and QTransposeProxyModel

This class was introduced in Qt 4.1.

Properties

Public Functions

virtual void setSourceModel(QAbstractItemModel *sourceModel)
QAbstractItemModel *sourceModel() const

Signals

Detailed Description

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.

Property Documentation

sourceModel : QAbstractItemModel*

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.