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