Spec-Zone.ru › Qt 6.1

Класс QConcatenateTablesProxyModel

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

Заголовок: #include <QConcatenateTablesProxyModel>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 5.13
Наследуется от: QAbstractItemModel
  • Список всех членов, включая унаследованные

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

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.

Важно: Обратите внимание, что этот прокси поддерживает только перетаскивание одной строки. Он будет делать assertion, если вызван с индексами из нескольких строк, потому что перетаскивание строк, которые могут исходить из разных исходных моделей, не может быть реализовано этим прокси-моделью обобщенно. Каждый фрагмент данных в 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().

[since 5.15] 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-6.1/qconcatenatetablesproxymodel.html

Spec-Zone.ru

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