QAbstractProxyModel¶
The QAbstractProxyModel
class provides a base class for proxy item models that can do sorting, filtering or other data processing tasks. More…
Inherited by: QTransposeProxyModel, QSortFilterProxyModel, QIdentityProxyModel
Synopsis¶
Functions¶
def
createSourceIndex
(row, col, internalPtr)def
sourceModel
()
Virtual functions¶
def
mapFromSource
(sourceIndex)def
mapSelectionFromSource
(selection)def
mapSelectionToSource
(selection)def
mapToSource
(proxyIndex)def
setSourceModel
(sourceModel)
Detailed Description¶
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.
- class PySide6.QtCore.QAbstractProxyModel([parent=None])¶
- Parameters
parent –
PySide6.QtCore.QObject
Constructs a proxy model with the given parent
.
- PySide6.QtCore.QAbstractProxyModel.createSourceIndex(row, col, internalPtr)¶
- Parameters
row – int
col – int
internalPtr –
void
- Return type
Equivalent to calling createIndex on the source model.
This method is useful if your proxy model wants to maintain the parent-child relationship of items in the source model. When reimplementing mapToSource()
, you can call this method to create an index for row row
and column col
of the source model.
A typical use would be to save the internal pointer coming from the source model in the proxy index when reimplementing mapFromSource()
and use the same internal pointer as internalPtr
to recover the original source index when reimplementing mapToSource()
.
- PySide6.QtCore.QAbstractProxyModel.mapFromSource(sourceIndex)¶
- Parameters
sourceIndex –
PySide6.QtCore.QModelIndex
- Return type
Reimplement this function to return the model index in the proxy model that corresponds to the sourceIndex
from the source model.
See also
- PySide6.QtCore.QAbstractProxyModel.mapSelectionFromSource(selection)¶
- Parameters
selection –
PySide6.QtCore.QItemSelection
- Return type
Returns a proxy selection mapped from the specified sourceSelection
.
Reimplement this method to map source selections to proxy selections.
- PySide6.QtCore.QAbstractProxyModel.mapSelectionToSource(selection)¶
- Parameters
selection –
PySide6.QtCore.QItemSelection
- Return type
Returns a source selection mapped from the specified proxySelection
.
Reimplement this method to map proxy selections to source selections.
- PySide6.QtCore.QAbstractProxyModel.mapToSource(proxyIndex)¶
- Parameters
proxyIndex –
PySide6.QtCore.QModelIndex
- Return type
Reimplement this function to return the model index in the source model that corresponds to the proxyIndex
in the proxy model.
See also
- PySide6.QtCore.QAbstractProxyModel.setSourceModel(sourceModel)¶
- Parameters
sourceModel –
PySide6.QtCore.QAbstractItemModel
This property holds the source model of this proxy model..
- PySide6.QtCore.QAbstractProxyModel.sourceModel()¶
- Return type
This property holds the source model of this proxy model..
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.