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