Spec-Zone.ru › Qt 5.15

Класс QConcatenateTablesProxyModel

Класс QConcatenateTablesProxyModel проксирует несколько моделей-источников, конкатенируя их строки. Подробнее...

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

Этот класс был представлен в Qt 5.13.

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

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

QConcatenateTablesProxyModel(QObject *parent = nullptr)
virtual ~QConcatenateTablesProxyModel()
void addSourceModel(QAbstractItemModel *sourceModel)
QModelIndex mapFromSource(const QModelIndex &sourceIndex) const
QModelIndex mapToSource(const QModelIndex &proxyIndex) const
void removeSourceModel(QAbstractItemModel *sourceModel)
QList<QAbstractItemModel *> sourceModels() const

Переопределенные открытые функции

virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
virtual Qt::ItemFlags flags(const QModelIndex &index) const override
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) 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 QModelIndex parent(const QModelIndex &index) const override
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
virtual bool setItemData(const QModelIndex &proxyIndex, const QMap<int, QVariant> &roles) override
virtual QSize span(const QModelIndex &index) const override

Подробное описание

QConcatenateTablesProxyModel принимает несколько моделей-источников и конкатенирует их строки.

Другими словами, прокси будет содержать все строки первой модели-источника, затем все строки второй модели-источника и так далее.

Если модели-источники не имеют одинакового количества столбцов, прокси будет содержать только столько столбцов, сколько в модели-источнике с наименьшим количеством столбцов. Дополнительные столбцы в других моделях-источниках будут просто проигнорированы.

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

Этот прокси не наследуется от QAbstractProxyModel, поскольку он использует несколько моделей-источников, а не одну.

Поддерживаются только плоские модели (списки и таблицы), древовидные модели не поддерживаются.

См. также QAbstractProxyModel, Программирование моделей/представлений, QIdentityProxyModel и QAbstractItemModel.

Документация по функциям-членам

QConcatenateTablesProxyModel::QConcatenateTablesProxyModel(QObject *parent = nullptr)

Создаёт прокси-модель для конкатенации строк с заданным parent.

[virtual] QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel()

Удаляет эту прокси-модель.

void QConcatenateTablesProxyModel::addSourceModel(QAbstractItemModel *sourceModel)

Добавляет модель-источник sourceModel ниже всех ранее добавленных моделей-источников.

Владение sourceModel не изменяется этим действием.

Одна и та же модель-источник не может быть добавлена более одного раза.

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

Переопределяет: QAbstractItemModel::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const.

[override virtual] int QConcatenateTablesProxyModel::columnCount(const QModelIndex &parent = QModelIndex()) const

Переопределяет: QAbstractItemModel::columnCount(const QModelIndex &parent) const.

Этот метод возвращает количество столбцов модели-источника с наименьшим количеством столбцов.

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

Переопределяет: QAbstractItemModel::data(const QModelIndex &index, int role) const.

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

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

Переопределяет: QAbstractItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).

QConcatenateTablesProxyModel обрабатывает отпускание на элементе, между элементами и после последнего элемента. Во всех случаях вызов перенаправляется на базовый модель. При отпускании на элементе вызывается базовая модель для этого элемента. При отпускании между элементами вызывается базовая модель, расположенная непосредственно под позицией отпускания. При отпускании после последнего элемента вызывается последняя базовая модель.

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

Переопределяет: QAbstractItemModel::flags(const QModelIndex &index) const.

Возвращает флаги для данного индекса. Если index валиден, флаги берутся из базовой модели для этого index. Если index невалиден (например, используется для определения разрешения отпускания на пустую область в представлении), возвращаются флаги из первой модели.

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

Переопределяет: QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const.

Этот метод возвращает данные горизонтального заголовка для первой базовой модели и данные вертикального заголовка для базовой модели, соответствующей каждой строке.

[override virtual] QModelIndex QConcatenateTablesProxyModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const

Переопределяет: QAbstractItemModel::index(int row, int column, const QModelIndex &parent) const.

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

Переопределяет: QAbstractItemModel::itemData(const QModelIndex &index) const.

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

QModelIndex QConcatenateTablesProxyModel::mapFromSource(const QModelIndex &sourceIndex) const

Возвращает прокси-индекс для заданного sourceIndex, который может быть из любой базовой модели.

QModelIndex QConcatenateTablesProxyModel::mapToSource(const QModelIndex &proxyIndex) const

Возвращает базовый индекс для заданного proxyIndex.

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

Переопределяет: QAbstractItemModel::mimeData(const QModelIndexList &indexes) const.

Вызов перенаправляется на базовый модель первого индекса в списке indexes.

Важно: обратите внимание, что этот прокси поддерживает перетаскивание только одной строки. Он будет вызывать утверждение, если вызван с индексами из нескольких строк, так как перетаскивание строк, которые могут исходить из разных базовых моделей, не может быть реализовано общим образом этим прокси-моделью. Каждый элемент данных в QMimeData необходимо объединить, что зависит от типа данных. Переопределите этот метод в подклассе, если требуется поддержка перетаскивания нескольких строк.

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

Переопределяет: QAbstractItemModel::mimeTypes() const.

Этот метод возвращает типы mime первой базовой модели.

[override virtual] QModelIndex QConcatenateTablesProxyModel::parent(const QModelIndex &index) const

Переопределяет: QAbstractItemModel::parent(const QModelIndex &index) const.

void QConcatenateTablesProxyModel::removeSourceModel(QAbstractItemModel *sourceModel)

Удаляет базовую модель sourceModel, которая была ранее добавлена к этому прокси.

Владение sourceModel не изменяется этим методом.

[override virtual] int QConcatenateTablesProxyModel::rowCount(const QModelIndex &parent = QModelIndex()) const

Переопределяет: QAbstractItemModel::rowCount(const QModelIndex &parent) const.

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

Переопределяет: QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role).

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

[override virtual] bool QConcatenateTablesProxyModel::setItemData(const QModelIndex &proxyIndex, const QMap<int, QVariant> &roles)

Переопределяет: QAbstractItemModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles).

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

QList<QAbstractItemModel *> QConcatenateTablesProxyModel::sourceModels() const

Возвращает список моделей, которые были добавлены в качестве базовых моделей для этой прокси-модели.

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

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

Переопределяет: QAbstractItemModel::span(const QModelIndex &index) const.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qconcatenatetablesproxymodel.html

Spec-Zone.ru

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