QAbstractProxyModel Class
The 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 |
开始支持版本: | Qt 4.1 |
基类: | QAbstractItemModel |
派生类: |
属性
- sourceModel : QAbstractItemModel *
- 1 个属性继承自 QObject
公有函数
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 |
- 39 个公有函数继承自 QAbstractItemModel
- 32 个公有函数继承自 QObject
信号
void | sourceModelChanged() |
- 18 个信号继承自 QAbstractItemModel
- 2 个信号继承自 QObject
Protected Slots
void | resetInternalData() |
- 1 个受保护的槽函数继承自 QAbstractItemModel
其他继承的成员
- 2 个公有槽函数继承自 QAbstractItemModel
- 1 个公有槽函数继承自 QObject
- 11 个静态公有成员继承自 QObject
- 19 个受保护的函数继承自 QAbstractItemModel
- 9 个受保护的函数继承自 QObject
详细描述
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.
参见 QSortFilterProxyModel, QAbstractItemModel, and Model/View Programming.
属性
sourceModel : QAbstractItemModel *
This property holds the source model of this proxy model.
访问函数:
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.
成员函数
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
Reimplemented from QAbstractItemModel::buddy().
[virtual]
bool QAbstractProxyModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const
Reimplemented from QAbstractItemModel::canDropMimeData().
This function was introduced in Qt 5.4.
[virtual]
bool QAbstractProxyModel::canFetchMore(const QModelIndex &parent) const
Reimplemented from QAbstractItemModel::canFetchMore().
[virtual]
QVariant QAbstractProxyModel::data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const
Reimplemented from QAbstractItemModel::data().
参见 setData().
[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.
[virtual]
void QAbstractProxyModel::fetchMore(const QModelIndex &parent)
Reimplemented from QAbstractItemModel::fetchMore().
[virtual]
Qt::ItemFlags QAbstractProxyModel::flags(const QModelIndex &index) const
Reimplemented from QAbstractItemModel::flags().
[virtual]
bool QAbstractProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) const
Reimplemented from QAbstractItemModel::hasChildren().
[virtual]
QVariant QAbstractProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
Reimplemented from QAbstractItemModel::headerData().
参见 setHeaderData().
[virtual]
QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) const
Reimplemented from 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
Reimplemented from QAbstractItemModel::mimeData().
[virtual]
QStringList QAbstractProxyModel::mimeTypes() const
Reimplemented from QAbstractItemModel::mimeTypes().
[protected slot]
void QAbstractProxyModel::resetInternalData()
Clears the roleNames of this proxy model.
[virtual]
void QAbstractProxyModel::revert()
Reimplemented from QAbstractItemModel::revert().
[virtual]
bool QAbstractProxyModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
Reimplemented from QAbstractItemModel::setData().
参见 data().
[virtual]
bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)
Reimplemented from QAbstractItemModel::setHeaderData().
参见 headerData().
[virtual]
bool QAbstractProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
Reimplemented from QAbstractItemModel::setItemData().
参见 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.
参见 sourceModel().
[virtual]
QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex &idx) const
Reimplemented from QAbstractItemModel::sibling().
[virtual]
void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
Reimplemented from QAbstractItemModel::sort().
QAbstractItemModel *QAbstractProxyModel::sourceModel() const
Returns the model that contains the data that is available through the proxy model.
Note: Getter function for property sourceModel.
参见 setSourceModel().
[virtual]
QSize QAbstractProxyModel::span(const QModelIndex &index) const
Reimplemented from QAbstractItemModel::span().
[virtual]
bool QAbstractProxyModel::submit()
Reimplemented from QAbstractItemModel::submit().
[virtual]
Qt::DropActions QAbstractProxyModel::supportedDragActions() const
Reimplemented from QAbstractItemModel::supportedDragActions().
[virtual]
Qt::DropActions QAbstractProxyModel::supportedDropActions() const
Reimplemented from QAbstractItemModel::supportedDropActions().