Spec-Zone.ru › Qt 5.12

Класс QAbstractProxyModel

Класс QAbstractProxyModel предоставляет базовый класс для прокси-моделей элементов, которые могут выполнять сортировку, фильтрацию или другие задачи обработки данных. Подробнее...

Заголовок: #include <QAbstractProxyModel>
qmake: QT += core
С момента: Qt 4.1
Наследует: QAbstractItemModel
Наследуется от:

QIdentityProxyModel и QSortFilterProxyModel

  • Список всех членов, включая наследуемые
  • Устаревшие члены

Свойства

  • sourceModel : QAbstractItemModel*
  • 1 свойство унаследовано от QObject

Открытые функции

QAbstractProxyModel(QObject *parent = nullptr)
virtual ~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 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
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
  • 40 открытые функции унаследованы от QAbstractItemModel
  • 32 открытые функции унаследованы от QObject

Сигналы

void sourceModelChanged()
  • 18 сигналов унаследовано от QAbstractItemModel
  • 2 сигнала унаследовано от QObject

Статические публичные члены

const QMetaObject staticMetaObject
  • 10 статических публичных членов унаследовано от QObject

Защищённые слоты

void resetInternalData()
  • 1 защищённый слот унаследовано от QAbstractItemModel

Дополнительные унаследованные члены

  • 2 публичных слота унаследовано от QAbstractItemModel
  • 1 публичный слот унаследовано от 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 = nullptr)

Конструктор образца-прокси с заданным parent.

[virtual] QAbstractProxyModel::~QAbstractProxyModel()

Удаляет образец-прокси.

[override virtual] QModelIndex QAbstractProxyModel::buddy(const QModelIndex &index) const

Переопределено из QAbstractItemModel::buddy().

[override virtual] bool QAbstractProxyModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const

Переопределено из QAbstractItemModel::canDropMimeData().

Эта функция была добавлена в Qt 5.4.

[override virtual] bool QAbstractProxyModel::canFetchMore(const QModelIndex &parent) const

Переопределено из QAbstractItemModel::canFetchMore().

[override virtual] QVariant QAbstractProxyModel::data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const

Переопределено из QAbstractItemModel::data().

См. также setData().

[override virtual] bool QAbstractProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)

Переопределено из QAbstractItemModel::dropMimeData().

Эта функция была добавлена в Qt 5.4.

[override virtual] void QAbstractProxyModel::fetchMore(const QModelIndex &parent)

Переопределено из QAbstractItemModel::fetchMore().

[override virtual] Qt::ItemFlags QAbstractProxyModel::flags(const QModelIndex &index) const

Переопределено из QAbstractItemModel::flags().

[override virtual] bool QAbstractProxyModel::hasChildren(const QModelIndex &parent = QModelIndex()) const

Переопределено из QAbstractItemModel::hasChildren().

[override virtual] QVariant QAbstractProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const

Переопределено из QAbstractItemModel::headerData().

См. также setHeaderData().

[override virtual] QMap<int, QVariant> QAbstractProxyModel::itemData(const QModelIndex &proxyIndex) const

Переопределено из QAbstractItemModel::itemData().

См. также setItemData().

[pure virtual] QModelIndex QAbstractProxyModel::mapFromSource(const QModelIndex &sourceIndex) const

Переопределите эту функцию, чтобы вернуть индекс модели в образце-прокси, который соответствует sourceIndex из исходной модели.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

См. также mapToSource().

[virtual] QItemSelection QAbstractProxyModel::mapSelectionFromSource(const QItemSelection &sourceSelection) const

Возвращает выбор прокси, отображенный из указанного sourceSelection.

Переопределите этот метод для отображения исходных выборов в выборах прокси.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

[virtual] QItemSelection QAbstractProxyModel::mapSelectionToSource(const QItemSelection &proxySelection) const

Возвращает исходный выбор, отображенный из указанного proxySelection.

Переопределите этот метод для отображения выборов прокси в исходные выборы.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

[pure virtual] QModelIndex QAbstractProxyModel::mapToSource(const QModelIndex &proxyIndex) const

Переопределите эту функцию, чтобы вернуть индекс модели в исходной модели, соответствующий proxyIndex в модели-прокси.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

См. также mapFromSource().

[override virtual] QMimeData *QAbstractProxyModel::mimeData(const QModelIndexList &indexes) const

Переопределено из QAbstractItemModel::mimeData().

[override virtual] QStringList QAbstractProxyModel::mimeTypes() const

Переопределено из QAbstractItemModel::mimeTypes().

[protected slot] void QAbstractProxyModel::resetInternalData()

Очищает roleNames этого образца-прокси.

[override virtual] void QAbstractProxyModel::revert()

Переопределено из QAbstractItemModel::revert().

[override virtual] bool QAbstractProxyModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)

Переопределено из QAbstractItemModel::setData().

См. также data().

[override virtual] bool QAbstractProxyModel::setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole)

Переопределено из QAbstractItemModel::setHeaderData().

См. также headerData().

[override 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().

[override virtual] QModelIndex QAbstractProxyModel::sibling(int row, int column, const QModelIndex &idx) const

Переопределено из QAbstractItemModel::sibling().

[override virtual] void QAbstractProxyModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)

Переопределено из QAbstractItemModel::sort().

QAbstractItemModel *QAbstractProxyModel::sourceModel() const

Возвращает модель, которая содержит данные, доступные через прокси-модель.

Примечание: Функция-геттер для свойства sourceModel.

См. также setSourceModel().

[override virtual] QSize QAbstractProxyModel::span(const QModelIndex &index) const

Переопределено из QAbstractItemModel::span().

[override virtual] bool QAbstractProxyModel::submit()

Переопределено из QAbstractItemModel::submit().

[override virtual] Qt::DropActions QAbstractProxyModel::supportedDragActions() const

Переопределено из QAbstractItemModel::supportedDragActions().

[override 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/qt-5.12/qabstractproxymodel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API