Класс QAbstractProxyModel
Класс QAbstractProxyModel предоставляет базовый класс для моделей элементов-прокси, которые могут выполнять сортировку, фильтрацию или другие задачи обработки данных. Подробнее...
| Заголовок: | #include <QAbstractProxyModel> |
| qmake: | QT += core |
| С момента: | Qt 4.1 |
| Наследуется от: | QAbstractItemModel |
| Наследуется: |
Свойства
- sourceModel : QAbstractItemModel *
- 1 свойство унаследовано от QObject
Открытые функции
| QAbstractProxyModel(QObject *parent = Q_NULLPTR) | |
| ~QAbstractProxyModel() | |
| 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 |
Переопределённые открытые функции
| virtual QModelIndex | buddy(const QModelIndex &index) const |
| virtual bool | canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const |
| virtual bool | canFetchMore(const QModelIndex &parent) const |
| virtual QVariant | data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const |
| virtual bool | dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
| virtual void | fetchMore(const QModelIndex &parent) |
| virtual Qt::ItemFlags | flags(const QModelIndex &index) const |
- 39 открытых функций унаследовано от QAbstractItemModel
- 31 открытых функций унаследовано от QObject
Сигналы
| void | sourceModelChanged() |
- 18 сигналов унаследовано от QAbstractItemModel
- 2 сигнала унаследовано от QObject
Защищенные слоты
| void | resetInternalData() |
- 1 защищенный слот унаследован от QAbstractItemModel
Дополнительные унаследованные члены
- 2 публичных слота унаследовано от QAbstractItemModel
- 1 публичный слот унаследован от QObject
- 11 статических публичных членов унаследовано от QObject
- 19 защищенных функций унаследовано от QAbstractItemModel
- 9 защищенных функций унаследовано от QObject
Подробное описание
Класс QAbstractProxyModel предоставляет базовый класс для моделей-прокси элементов, которые могут выполнять сортировку, фильтрацию или другие задачи обработки данных.
Этот класс определяет стандартный интерфейс, который должны использовать модели-прокси, чтобы корректно взаимодействовать с другими компонентами модели/представления. Он не предназначен для прямого создания экземпляров.
Все стандартные модели-прокси производятся от класса QAbstractProxyModel. Если вам нужно создать новый класс модели-прокси, обычно лучше унаследовать от существующего класса, который обеспечивает поведение, наиболее близкое к нужному.
Модели-прокси, которые фильтруют или сортируют элементы данных из модели-источника, должны создаваться с использованием или наследованием от QSortFilterProxyModel.
Для создания подкласса QAbstractProxyModel необходимо реализовать методы mapFromSource() и mapToSource(). Функции mapSelectionFromSource() и mapSelectionToSource() нужно переопределять только в случае необходимости поведения, отличного от стандартного.
Примечание: Если модель-источник удалена или не указана, прокси-модель работает с пустой моделью-заполнителем.
См. также QSortFilterProxyModel, QAbstractItemModel и Моделирование/Программирование представлений.
Документация свойств
sourceModel : QAbstractItemModel *
Это свойство содержит модель-источник для данной прокси-модели.
Функции доступа:
| QAbstractItemModel * | sourceModel() const |
| virtual void | setSourceModel(QAbstractItemModel *sourceModel) |
Сигнал уведомления:
| void | sourceModelChanged() | [см. примечание ниже] |
Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.
Документация функций-членов
QAbstractProxyModel::QAbstractProxyModel(QObject *parent = Q_NULLPTR)
Создаёт прокси-модель с заданным parent.
QAbstractProxyModel::~QAbstractProxyModel()
Удаляет прокси-модель.
[virtual] QModelIndex QAbstractProxyModel::buddy(const QModelIndex &index) const
Переопределено из QAbstractItemModel::buddy().
[virtual] bool QAbstractProxyModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const
Переопределено из QAbstractItemModel::canDropMimeData().
Эта функция была введена в Qt 5.4.
[virtual] bool QAbstractProxyModel::canFetchMore(const QModelIndex &parent) const
Переопределено из QAbstractItemModel::canFetchMore().
[virtual] QVariant QAbstractProxyModel::data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const
Переопределено из QAbstractItemModel::data().
См. также setData().
[virtual] bool QAbstractProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
Переопределено из QAbstractItemModel::dropMimeData().
Эта функция была введена в Qt 5.4.
[virtual] void QAbstractProxyModel::fetchMore(const QModelIndex &parent)
Переопределено из QAbstractItemModel::fetchMore().
[virtual] Qt::ItemFlags QAbstractProxyModel::flags(const QModelIndex &index) const
Переопределено из QAbstractItemModel::flags().
[virtual] bool QAbstractProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::hasChildren().
[virtual] QVariant QAbstractProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
Переопределено из QAbstractItemModel::headerData().
См. также setHeaderData().
[virtual] QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) const
Переопределено из QAbstractItemModel::itemData().
См. также setItemData().
[pure virtual] QModelIndex QAbstractProxyModel::mapFromSource(const QModelIndex &sourceIndex) const
Переопределите эту функцию, чтобы получить индекс модели в прокси-модели, соответствующий sourceIndex из модели-источника.
См. также mapToSource().
[virtual] QItemSelection QAbstractProxyModel::mapSelectionFromSource(const QItemSelection &sourceSelection) const
Возвращает выбор в прокси-модели, сопоставленный с заданным sourceSelection.
Переопределите этот метод для сопоставления выборов в модели-источнике с выборами в прокси-модели.
[virtual] QItemSelection QAbstractProxyModel::mapSelectionToSource(const QItemSelection &proxySelection) const
Возвращает выбор в модели-источнике, сопоставленный с заданным proxySelection.
Переопределите этот метод для сопоставления выборов в прокси-модели с выборами в модели-источнике.
[pure virtual] QModelIndex QAbstractProxyModel::mapToSource(const QModelIndex &proxyIndex) const
Переопределите эту функцию, чтобы получить индекс модели в модели-источнике, соответствующий proxyIndex в прокси-модели.
См. также mapFromSource().
[virtual] QMimeData *QAbstractProxyModel::mimeData(const QModelIndexList &indexes) const
Переопределено из QAbstractItemModel::mimeData().
[virtual] QStringList QAbstractProxyModel::mimeTypes() const
Переопределено из QAbstractItemModel::mimeTypes().
[protected slot] void QAbstractProxyModel::resetInternalData()
Очищает roleNames этой прокси-модели.
[virtual] void QAbstractProxyModel::revert()
Переопределено из QAbstractItemModel::revert().
[virtual] bool QAbstractProxyModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
Переопределено из QAbstractItemModel::setData().
См. также data().
[virtual] bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)
Переопределено из QAbstractItemModel::setHeaderData().
См. также headerData().
[virtual] bool QAbstractProxyModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles)
Реализовано повторно из QAbstractItemModel::setItemData().
См. также itemData().
[virtual] void QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel)
Устанавливает заданный sourceModel для обработки прокси-моделью.
Подклассы должны вызывать beginResetModel() в начале метода, отключить связь со старой моделью, вызвать этот метод, подключить связь к новой модели и вызвать endResetModel().
Примечание: Функция-сеттер для свойства sourceModel.
См. также sourceModel().
[virtual] QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex &idx) const
Реализовано повторно из QAbstractItemModel::sibling().
[virtual] void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
Реализовано повторно из QAbstractItemModel::sort().
QAbstractItemModel *QAbstractProxyModel::sourceModel() const
Возвращает модель, которая содержит данные, доступные через прокси-модель.
Примечание: Функция-геттер для свойства sourceModel.
См. также setSourceModel().
[virtual] QSize QAbstractProxyModel::span(const QModelIndex &index) const
Реализовано повторно из QAbstractItemModel::span().
[virtual] bool QAbstractProxyModel::submit()
Реализовано повторно из QAbstractItemModel::submit().
[virtual] Qt::DropActions QAbstractProxyModel::supportedDragActions() const
Реализовано повторно из QAbstractItemModel::supportedDragActions().
[virtual] Qt::DropActions QAbstractProxyModel::supportedDropActions() const
Реализовано повторно из QAbstractItemModel::supportedDropActions().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qabstractproxymodel.html