QAbstractProxyModel 类

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

头: #include <QAbstractProxyModel>
qmake: QT += core
Since: Qt 4.1
继承: QAbstractItemModel
继承者:

QIdentityProxyModel and QSortFilterProxyModel

特性

公共函数

QAbstractProxyModel (QObject * parent = Q_NULLPTR)
~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
virtual bool canDropMimeData (const QMimeData * data , Qt::DropAction action , int row , int column , const QModelIndex & parent ) const
virtual bool canFetchMore (const QModelIndex & parent ) const
virtual QVariant data (const QModelIndex & proxyIndex , int role = Qt::DisplayRole) const
virtual bool dropMimeData (const QMimeData * data , Qt::DropAction action , int row , int column , const QModelIndex & parent )
virtual void fetchMore (const QModelIndex & parent )
virtual Qt::ItemFlags flags (const QModelIndex & index ) const
virtual bool hasChildren (const QModelIndex & parent = QModelIndex()) const
virtual QVariant headerData (int section , Qt::Orientation orientation , int role = Qt::DisplayRole) const
virtual QMap<int, QVariant> itemData (const QModelIndex & proxyIndex ) const
virtual QMimeData * mimeData (const QModelIndexList & indexes ) const
virtual QStringList mimeTypes () const
virtual void revert ()
virtual bool setData (const QModelIndex & index , const QVariant & value , int role = Qt::EditRole)
virtual bool setHeaderData (int section , Qt::Orientation orientation , const QVariant & value , int role = Qt::EditRole)
virtual bool setItemData (const QModelIndex & index , const QMap<int, QVariant> & roles )
virtual QModelIndex sibling (int row , int column , const QModelIndex & idx ) const
virtual void sort (int column , Qt::SortOrder order = Qt::AscendingOrder)
virtual QSize span (const QModelIndex & index ) const
virtual bool submit ()
virtual Qt::DropActions supportedDragActions () const
virtual Qt::DropActions supportedDropActions () const

信号

void sourceModelChanged ()

保护槽

void resetInternalData ()

额外继承成员

详细描述

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 .

要子类化 QAbstractProxyModel , you need to implement mapFromSource () 和 mapToSource ()。 mapSelectionFromSource () 和 mapSelectionToSource () functions only need to be reimplemented if you need a behavior different from the default behavior.

注意: If the source model is deleted or no source model is specified, the proxy model operates on a empty placeholder model.

另请参阅 QSortFilterProxyModel , QAbstractItemModel ,和 模型/视图编程 .

特性文档编制

sourceModel : QAbstractItemModel *

此特性保持此代理模型的源模型。

访问函数:

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

通知程序信号:

void sourceModelChanged () [see note below]

注意: 这是私有信号。它可以用于信号连接,但不能由用户发射。

成员函数文档编制

QAbstractProxyModel:: QAbstractProxyModel ( QObject * parent = Q_NULLPTR)

Constructs a proxy model with the given parent .

QAbstractProxyModel:: ~QAbstractProxyModel ()

Destroys the proxy model.

[virtual] QModelIndex QAbstractProxyModel:: buddy (const QModelIndex & index ) const

重实现自 QAbstractItemModel::buddy ().

[virtual] bool QAbstractProxyModel:: canDropMimeData (const QMimeData * data , Qt::DropAction action , int row , int column , const QModelIndex & parent ) const

重实现自 QAbstractItemModel::canDropMimeData ().

该函数在 Qt 5.4 引入。

[virtual] bool QAbstractProxyModel:: canFetchMore (const QModelIndex & parent ) const

重实现自 QAbstractItemModel::canFetchMore ().

[virtual] QVariant QAbstractProxyModel:: data (const QModelIndex & proxyIndex , int role = Qt::DisplayRole) const

重实现自 QAbstractItemModel::data ().

另请参阅 setData ().

[virtual] bool QAbstractProxyModel:: dropMimeData (const QMimeData * data , Qt::DropAction action , int row , int column , const QModelIndex & parent )

重实现自 QAbstractItemModel::dropMimeData ().

该函数在 Qt 5.4 引入。

[virtual] void QAbstractProxyModel:: fetchMore (const QModelIndex & parent )

重实现自 QAbstractItemModel::fetchMore ().

[virtual] Qt::ItemFlags QAbstractProxyModel:: flags (const QModelIndex & index ) const

重实现自 QAbstractItemModel::flags ().

[virtual] bool QAbstractProxyModel:: hasChildren (const QModelIndex & parent = QModelIndex()) const

重实现自 QAbstractItemModel::hasChildren ().

[virtual] QVariant QAbstractProxyModel:: headerData ( int section , Qt::Orientation orientation , int role = Qt::DisplayRole) const

重实现自 QAbstractItemModel::headerData ().

另请参阅 setHeaderData ().

[virtual] QMap < int , QVariant > QAbstractProxyModel:: itemData (const QModelIndex & proxyIndex ) const

重实现自 QAbstractItemModel::itemData ().

另请参阅 setItemData ().

[pure virtual] QModelIndex QAbstractProxyModel:: mapFromSource (const QModelIndex & sourceIndex ) const

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

另请参阅 mapToSource ().

[virtual] QItemSelection QAbstractProxyModel:: mapSelectionFromSource (const QItemSelection & sourceSelection ) const

Returns a proxy selection mapped from the specified sourceSelection .

Reimplement this method to map source selections to proxy selections.

[virtual] QItemSelection QAbstractProxyModel:: mapSelectionToSource (const QItemSelection & proxySelection ) const

Returns a source selection mapped from the specified proxySelection .

Reimplement this method to map proxy selections to source selections.

[pure virtual] QModelIndex QAbstractProxyModel:: mapToSource (const QModelIndex & proxyIndex ) const

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

另请参阅 mapFromSource ().

[virtual] QMimeData *QAbstractProxyModel:: mimeData (const QModelIndexList & indexes ) const

重实现自 QAbstractItemModel::mimeData ().

[virtual] QStringList QAbstractProxyModel:: mimeTypes () const

重实现自 QAbstractItemModel::mimeTypes ().

[protected slot] void QAbstractProxyModel:: resetInternalData ()

清零 roleNames of this proxy model.

[virtual] void QAbstractProxyModel:: revert ()

重实现自 QAbstractItemModel::revert ().

[virtual] bool QAbstractProxyModel:: setData (const QModelIndex & index , const QVariant & value , int role = Qt::EditRole)

重实现自 QAbstractItemModel::setData ().

另请参阅 data ().

[virtual] bool QAbstractProxyModel:: setHeaderData ( int section , Qt::Orientation orientation , const QVariant & value , int role = Qt::EditRole)

重实现自 QAbstractItemModel::setHeaderData ().

另请参阅 headerData ().

[virtual] bool QAbstractProxyModel:: setItemData (const QModelIndex & index , const QMap < int , QVariant > & roles )

重实现自 QAbstractItemModel::setItemData ().

另请参阅 itemData ().

[virtual] void QAbstractProxyModel:: setSourceModel ( QAbstractItemModel * sourceModel )

设置给定 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 ().

注意: Setter 函数对于特性 sourceModel .

另请参阅 sourceModel ().

[virtual] QModelIndex QAbstractProxyModel:: sibling ( int row , int column , const QModelIndex & idx ) const

重实现自 QAbstractItemModel::sibling ().

[virtual] void QAbstractProxyModel:: sort ( int column , Qt::SortOrder order = Qt::AscendingOrder)

重实现自 QAbstractItemModel::sort ().

QAbstractItemModel *QAbstractProxyModel:: sourceModel () const

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

注意: Getter 函数对于特性 sourceModel .

另请参阅 setSourceModel ().

[virtual] QSize QAbstractProxyModel:: span (const QModelIndex & index ) const

重实现自 QAbstractItemModel::span ().

[virtual] bool QAbstractProxyModel:: submit ()

重实现自 QAbstractItemModel::submit ().

[virtual] Qt::DropActions QAbstractProxyModel:: supportedDragActions () const

重实现自 QAbstractItemModel::supportedDragActions ().

[virtual] Qt::DropActions QAbstractProxyModel:: supportedDropActions () const

重实现自 QAbstractItemModel::supportedDropActions ().