|  | Home · All Classes · Modules

# QAbstractProxyModel Class Reference
[QtGui module]

The QAbstractProxyModel class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks. More...

Inherits QAbstractItemModel.

Inherited by QIdentityProxyModel and QSortFilterProxyModel.

### Methods

- __init__ (self, QObject parent = None)
- QModelIndex buddy (self, QModelIndex index)
- bool canFetchMore (self, QModelIndex parent)
- QVariant data (self, QModelIndex proxyIndex, int role = Qt.DisplayRole)
- fetchMore (self, QModelIndex parent)
- Qt.ItemFlags flags (self, QModelIndex index)
- bool hasChildren (self, QModelIndex parent = QModelIndex())
- QVariant headerData (self, int section, Qt.Orientation orientation, int role)
- unknown-type itemData (self, QModelIndex index)
- QModelIndex mapFromSource (self, QModelIndex sourceIndex)
- QItemSelection mapSelectionFromSource (self, QItemSelection selection)
- QItemSelection mapSelectionToSource (self, QItemSelection selection)
- QModelIndex mapToSource (self, QModelIndex proxyIndex)
- QMimeData mimeData (self, unknown-type indexes)
- QStringList mimeTypes (self)
- revert (self)
- bool setData (self, QModelIndex index, QVariant value, int role = Qt.EditRole)
- bool setHeaderData (self, int section, Qt.Orientation orientation, QVariant value, int role = Qt.EditRole)
- bool setItemData (self, QModelIndex index, unknown-type roles)
- setSourceModel (self, QAbstractItemModel sourceModel)
- sort (self, int column, Qt.SortOrder order = Qt.AscendingOrder)
- QAbstractItemModel sourceModel (self)
- QSize span (self, QModelIndex index)
- bool submit (self)
- Qt.DropActions supportedDropActions (self)

## Detailed Description

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.

## Method Documentation

### QAbstractProxyModel.__init__ (self, QObject parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs a proxy model with the given parent.

### QModelIndex QAbstractProxyModel.buddy (self, QModelIndex index)

Reimplemented from QAbstractItemModel.buddy().

This function was introduced in Qt 4.8.

### bool QAbstractProxyModel.canFetchMore (self, QModelIndex parent)

Reimplemented from QAbstractItemModel.canFetchMore().

This function was introduced in Qt 4.8.

### QVariant QAbstractProxyModel.data (self, QModelIndex proxyIndex, int role = Qt.DisplayRole)

Reimplemented from QAbstractItemModel.data().

See also setData().

### QAbstractProxyModel.fetchMore (self, QModelIndex parent)

Reimplemented from QAbstractItemModel.fetchMore().

This function was introduced in Qt 4.8.

### Qt.ItemFlags QAbstractProxyModel.flags (self, QModelIndex index)

Reimplemented from QAbstractItemModel.flags().

### bool QAbstractProxyModel.hasChildren (self, QModelIndex parent = QModelIndex())

Reimplemented from QAbstractItemModel.hasChildren().

This function was introduced in Qt 4.8.

### QVariant QAbstractProxyModel.headerData (self, int section, Qt.Orientation orientation, int role)

Reimplemented from QAbstractItemModel.headerData().

See also setHeaderData().

### unknown-type QAbstractProxyModel.itemData (self, QModelIndex index)

Reimplemented from QAbstractItemModel.itemData().

See also setItemData().

### QModelIndex QAbstractProxyModel.mapFromSource (self, QModelIndex sourceIndex)

This method is abstract and should be reimplemented in any sub-class.

Reimplement this function to return the model index in the proxy model that corresponds to the sourceIndex from the source model.

See also mapToSource().

### QItemSelection QAbstractProxyModel.mapSelectionFromSource (self, QItemSelection selection)

Returns a proxy selection mapped from the specified sourceSelection.

Reimplement this method to map source selections to proxy selections.

### QItemSelection QAbstractProxyModel.mapSelectionToSource (self, QItemSelection selection)

Returns a source selection mapped from the specified proxySelection.

Reimplement this method to map proxy selections to source selections.

### QModelIndex QAbstractProxyModel.mapToSource (self, QModelIndex proxyIndex)

This method is abstract and should be reimplemented in any sub-class.

Reimplement this function to return the model index in the source model that corresponds to the proxyIndex in the proxy model.

See also mapFromSource().

### QMimeData QAbstractProxyModel.mimeData (self, unknown-type indexes)

The QMimeData result

Reimplemented from QAbstractItemModel.mimeData().

This function was introduced in Qt 4.8.

### QStringList QAbstractProxyModel.mimeTypes (self)

Reimplemented from QAbstractItemModel.mimeTypes().

This function was introduced in Qt 4.8.

### QAbstractProxyModel.revert (self)

Reimplemented from QAbstractItemModel.revert().

### bool QAbstractProxyModel.setData (self, QModelIndex index, QVariant value, int role = Qt.EditRole)

Reimplemented from QAbstractItemModel.setData().

See also data().

### bool QAbstractProxyModel.setHeaderData (self, int section, Qt.Orientation orientation, QVariant value, int role = Qt.EditRole)

Reimplemented from QAbstractItemModel.setHeaderData().

See also headerData().

### bool QAbstractProxyModel.setItemData (self, QModelIndex index, unknown-type roles)

Reimplemented from QAbstractItemModel.setItemData().

See also itemData().

### QAbstractProxyModel.setSourceModel (self, QAbstractItemModel sourceModel)

Sets the given sourceModel to be processed by the proxy model.

See also sourceModel().

### QAbstractProxyModel.sort (self, int column, Qt.SortOrder order = Qt.AscendingOrder)

Reimplemented from QAbstractItemModel.sort().

This function was introduced in Qt 4.8.

### QAbstractItemModel QAbstractProxyModel.sourceModel (self)

Returns the model that contains the data that is available through the proxy model.

See also setSourceModel().

### QSize QAbstractProxyModel.span (self, QModelIndex index)

Reimplemented from QAbstractItemModel.span().

This function was introduced in Qt 4.8.

### bool QAbstractProxyModel.submit (self)

Reimplemented from QAbstractItemModel.submit().

### Qt.DropActions QAbstractProxyModel.supportedDropActions (self)

Reimplemented from QAbstractItemModel.supportedDropActions().

This function was introduced in Qt 4.8.