QAbstractProxyModel Class
La clase QAbstractProxyModel proporciona una clase base para modelos de elementos proxy que pueden realizar tareas de ordenación, filtrado u otras tareas de procesamiento de datos. Más...
| Cabecera: | #include <QAbstractProxyModel> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Hereda: | QAbstractItemModel |
| Heredado por: | QIdentityProxyModel, QSortFilterProxyModel, y QTransposeProxyModel |
Propiedades
- sourceModel : QAbstractItemModel*
Funciones públicas
| QAbstractProxyModel(QObject *parent = nullptr) | |
| virtual | ~QAbstractProxyModel() |
| QBindable<QAbstractItemModel *> | bindableSourceModel() |
| virtual QModelIndex | mapFromSource(const QModelIndex &sourceIndex) const = 0 |
| virtual QItemSelection | mapSelectionFromSource(const QItemSelection &sourceSelection) const |
| virtual QItemSelection | mapSelectionToSource(const QItemSelection &proxySelection) const |
| virtual QModelIndex | mapToSource(const QModelIndex &proxyIndex) const = 0 |
| virtual void | setSourceModel(QAbstractItemModel *sourceModel) |
| QAbstractItemModel * | sourceModel() const |
Funciones públicas reimplementadas
| virtual QModelIndex | buddy(const QModelIndex &index) const override |
| virtual bool | canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override |
| virtual bool | canFetchMore(const QModelIndex &parent) const override |
(since 6.0) virtual bool | clearItemData(const QModelIndex &index) override |
| virtual QVariant | data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const override |
| virtual bool | dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
| virtual void | fetchMore(const QModelIndex &parent) override |
| virtual Qt::ItemFlags | flags(const QModelIndex &index) const override |
| virtual bool | hasChildren(const QModelIndex &parent = QModelIndex()) const override |
| virtual QVariant | headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override |
| virtual QMap<int, QVariant> | itemData(const QModelIndex &proxyIndex) const override |
| virtual QMimeData * | mimeData(const QModelIndexList &indexes) const override |
| virtual QStringList | mimeTypes() const override |
| virtual void | revert() override |
| virtual QHash<int, QByteArray> | roleNames() const override |
| virtual bool | setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override |
| virtual bool | setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override |
| virtual bool | setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles) override |
| virtual QModelIndex | sibling(int row, int column, const QModelIndex &idx) const override |
| virtual void | sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override |
| virtual QSize | span(const QModelIndex &index) const override |
| virtual bool | submit() override |
| virtual Qt::DropActions | supportedDragActions() const override |
| virtual Qt::DropActions | supportedDropActions() const override |
Señales
| void | sourceModelChanged() |
Funciones protegidas
(since 6.2) QModelIndex | createSourceIndex(int row, int col, void *internalPtr) const |
Descripción detallada
Esta clase define la interfaz estándar que los modelos proxy deben utilizar para poder interoperar correctamente con otros componentes modelo/vista. No debe instanciarse directamente.
Todos los modelos proxy estándar derivan de la clase QAbstractProxyModel. Si necesitas crear una nueva clase de modelo proxy, normalmente es mejor subclasificar una clase existente que proporcione el comportamiento más cercano al que quieres proporcionar.
Los modelos proxy que filtran u ordenan elementos de datos de un modelo fuente deben crearse utilizando o subclasificando QSortFilterProxyModel.
Para subclasificar QAbstractProxyModel, es necesario implementar mapFromSource() y mapToSource(). Las funciones mapSelectionFromSource() y mapSelectionToSource() sólo deben reimplementarse si se necesita un comportamiento diferente al predeterminado.
Nota: Si se elimina el modelo fuente o no se especifica ningún modelo fuente, el modelo proxy opera sobre un modelo marcador de posición vacío.
Véase también QSortFilterProxyModel, QAbstractItemModel, y Programación Modelo/Vista.
Documentación de propiedades
[bindable] sourceModel : QAbstractItemModel*
Nota: Esta propiedad admite enlaces QProperty.
Esta propiedad contiene el modelo fuente de este modelo proxy.
Funciones de acceso:
| QAbstractItemModel * | sourceModel() const |
| virtual void | setSourceModel(QAbstractItemModel *sourceModel) |
Señal de notificador:
| void | sourceModelChanged() | [see note below] |
Nota : Se trata de una señal privada. Puede utilizarse en conexiones de señal pero no puede ser emitida por el usuario.
Documentación de las funciones miembro
[explicit] QAbstractProxyModel::QAbstractProxyModel(QObject *parent = nullptr)
Construye un modelo proxy con la dirección parent.
[virtual noexcept] QAbstractProxyModel::~QAbstractProxyModel()
Destruye el modelo proxy.
[override virtual] QModelIndex QAbstractProxyModel::buddy(const QModelIndex &index) const
Reimplementa: QAbstractItemModel::buddy(const QModelIndex &index) const.
[override virtual] bool QAbstractProxyModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const
Reimplementa: QAbstractItemModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const.
[override virtual] bool QAbstractProxyModel::canFetchMore(const QModelIndex &parent) const
Reimplementa: QAbstractItemModel::canFetchMore(const QModelIndex &parent) const.
[override virtual, since 6.0] bool QAbstractProxyModel::clearItemData(const QModelIndex &index)
Reimplementa: QAbstractItemModel::clearItemData(const QModelIndex &index).
Esta función se introdujo en Qt 6.0.
[protected, since 6.2] QModelIndex QAbstractProxyModel::createSourceIndex(int row, int col, void *internalPtr) const
Equivale a llamar a createIndex en el modelo fuente.
Este método es útil si tu modelo proxy quiere mantener la relación padre-hijo de los elementos en el modelo fuente. Cuando reimplementes mapToSource(), puedes llamar a este método para crear un índice para la fila row y la columna col del modelo fuente.
Un uso típico sería guardar el puntero interno procedente del modelo fuente en el índice proxy al reimplementar mapFromSource() y utilizar el mismo puntero interno que internalPtr para recuperar el índice fuente original al reimplementar mapToSource().
Esta función se introdujo en Qt 6.2.
[override virtual] QVariant QAbstractProxyModel::data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const
Reimplementa: QAbstractItemModel::data(const QModelIndex &index, int rol) const.
Véase también setData().
[override virtual] bool QAbstractProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
Reimplementa: QAbstractItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).
[override virtual] void QAbstractProxyModel::fetchMore(const QModelIndex &parent)
Reimplementa: QAbstractItemModel::fetchMore(const QModelIndex &parent).
[override virtual] Qt::ItemFlags QAbstractProxyModel::flags(const QModelIndex &index) const
Reimplementa: QAbstractItemModel::flags(const QModelIndex &index) const.
[override virtual] bool QAbstractProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) const
Reimplementa: QAbstractItemModel::hasChildren(const QModelIndex &parent) const.
[override virtual] QVariant QAbstractProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
Reimplementa: QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const.
Véase también setHeaderData().
[override virtual] QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) const
Reimplementa: QAbstractItemModel::itemData(const QModelIndex &index) const.
Véase también setItemData().
[pure virtual invokable] QModelIndex QAbstractProxyModel::mapFromSource(const QModelIndex &sourceIndex) const
Reimplemente esta función para devolver el índice del modelo en el modelo proxy que corresponde al sourceIndex del modelo fuente.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
Véase también mapToSource().
[virtual invokable] QItemSelection QAbstractProxyModel::mapSelectionFromSource(const QItemSelection &sourceSelection) const
Devuelve una selección proxy mapeada desde el sourceSelection especificado .
Reimplemente este método para asignar selecciones de origen a selecciones proxy.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
[virtual invokable] QItemSelection QAbstractProxyModel::mapSelectionToSource(const QItemSelection &proxySelection) const
Devuelve una selección de origen mapeada desde el proxySelection especificado .
Reimplemente este método para mapear selecciones proxy a selecciones fuente.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
[pure virtual invokable] QModelIndex QAbstractProxyModel::mapToSource(const QModelIndex &proxyIndex) const
Reimplemente esta función para devolver el índice del modelo en el modelo fuente que corresponde a proxyIndex en el modelo proxy.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
Véase también mapFromSource().
[override virtual] QMimeData *QAbstractProxyModel::mimeData(const QModelIndexList &indexes) const
Reimplementa: QAbstractItemModel::mimeData(const QModelIndexList &indexes) const.
[override virtual] QStringList QAbstractProxyModel::mimeTypes() const
Reimplementa: QAbstractItemModel::mimeTypes() const.
[override virtual] void QAbstractProxyModel::revert()
Reimplementa: QAbstractItemModel::revert().
[override virtual] QHash<int, QByteArray> QAbstractProxyModel::roleNames() const
Reimplementa: QAbstractItemModel::roleNames() const.
[override virtual] bool QAbstractProxyModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
Reimplementa: QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role).
Véase también data().
[override virtual] bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)
Reimplementa: QAbstractItemModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role).
Véase también headerData().
[override virtual] bool QAbstractProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
Reimplementa: QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles).
Véase también itemData().
[virtual] void QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel)
Establece el sourceModel dado para ser procesado por el modelo proxy.
Las subclases deben llamar a beginResetModel() al principio del método, desconectarse del modelo antiguo, llamar a este método, conectarse al nuevo modelo y llamar a endResetModel().
Nota: Función Setter para la propiedad sourceModel.
Véase también sourceModel().
[override virtual] QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex &idx) const
Reimplementa: QAbstractItemModel::sibling(int fila, int columna, const QModelIndex &index) const.
[override virtual] void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
Reimplementa: QAbstractItemModel::sort(int columna, Qt::SortOrder orden).
QAbstractItemModel *QAbstractProxyModel::sourceModel() const
Devuelve el modelo que contiene los datos disponibles a través del modelo proxy.
Nota: Función Getter para la propiedad sourceModel.
Véase también setSourceModel().
[override virtual] QSize QAbstractProxyModel::span(const QModelIndex &index) const
Reimplementa: QAbstractItemModel::span(const QModelIndex &index) const.
[override virtual] bool QAbstractProxyModel::submit()
Reimplementa: QAbstractItemModel::submit().
[override virtual] Qt::DropActions QAbstractProxyModel::supportedDragActions() const
Reimplementa: QAbstractItemModel::supportedDragActions() const.
[override virtual] Qt::DropActions QAbstractProxyModel::supportedDropActions() const
Reimplementa: QAbstractItemModel::supportedDropActions() const.
© 2026 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.