- class QAbstractProxyModel#
QAbstractProxyModel类提供了一个基类,用于代理项模型,它可以执行排序、过滤或其他数据处理任务。
继承自:
QTransposeProxyModel、QSortFilterProxyModel、QIdentityProxyModel概要#
属性#
sourceModelᅟ- 此代理模型的数据源模型
方法#
def
__init__()def
createSourceIndex()def
sourceModel()
虚方法#
信号
备注
此文档可能包含从 C++ 自动转换为 Python 的片段。我们总是欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来通知我们
详细描述
此类定义了代理模型必须使用的标准接口,以便能够与其他模型/视图组件正确交互。它不应该被直接实例化。
所有标准代理模型都从
QAbstractProxyModel类派生。如果您需要创建新的代理模型类,通常最好从提供与所需行为最接近的现有类进行子类化。应使用或子类化
QSortFilterProxyModel来创建筛选或排序来自源模型的数据的代理模型。要子类化
QAbstractProxyModel,你需要实现mapFromSource()和mapToSource()。如果需要与默认行为不同的行为,才需要重新实现mapSelectionFromSource()和mapSelectionToSource()函数。备注
属性可以在使用
from __feature__ import true_property时直接使用,或者通过访问器函数使用。- 属性sourceModel: QAbstractItemModel#
此属性包含此代理模型的源模型。
创建一个具有给定
parent的代理模型。- createSourceIndex(row, col, internalPtr)#
- 参数:
row – int
col – int
internalPtr –
void
- 返回类型:
相当于在源模型上调用 createIndex。
此方法在您的代理模型需要维护源模型中项的父子关系时很有用。当重新实现
mapToSource()时,您可以调用此方法为源模型的第row行和第col列创建索引。典型用法是:在重新实现
mapFromSource()时,保存从源模型获得的内部指针,并使用相同的内部指针作为internalPtr来恢复在重新实现mapToSource()时使用的原始源索引。- 摘要 mapFromSource(sourceIndex)
- 参数:
sourceIndex –
QModelIndex- 返回类型:
重写此函数以返回与源模型中的
sourceIndex对应的代理模型中的模型索引。也请参阅
- mapSelectionFromSource(selection)
- 参数:
selection –
QItemSelection- 返回类型:
返回一个从指定的
sourceSelection映射的代理选择。重写此方法以将源选择映射到代理选择。
- mapSelectionToSource(selection)
- 参数:
selection –
QItemSelection- 返回类型:
返回一个从指定的
proxySelection映射的源选择。重写此方法以将代理选择映射到源选择。
- 抽象 mapToSource(proxyIndex)
- 参数:
proxyIndex –
QModelIndex- 返回类型:
重写此函数以返回与代理模型中的
proxyIndex对应的源模型中的模型索引。也请参阅
- setSourceModel(sourceModel)
- 参数:
sourceModel –
QAbstractItemModel
设置要由代理模型处理的给定
sourceModel。子类应在方法开始时调用
beginResetModel(),与旧模型断开连接,调用此方法,连接到新模型,并调用endResetModel().也请参阅
属性
sourceModelᅟ的设置器。- sourceModel()
- 返回类型:
返回包含通过代理模型可用的数据的模型。
也请参阅
属性
sourceModelᅟ的获取器。- sourceModelChanged()#
属性
sourceModel的通知信号。