- 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
的通知信号。