Spec-Zone.ru › Qt 5.14

Класс 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)

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

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

[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.14/qconcatenatetablesproxymodel.html

Spec-Zone.ru

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