Spec-Zone.ru › Qt 6.1

Класс QAbstractTableModel

Класс QAbstractTableModel предоставляет абстрактную модель, которая может быть унаследована для создания моделей таблиц. Подробнее...

Заголовок: #include <QAbstractTableModel>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Наследует: QAbstractItemModel
Наследуется от:

QSqlQueryModel

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

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

QAbstractTableModel(QObject *parent = nullptr)
virtual ~QAbstractTableModel()

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

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 QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const override

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

QAbstractTableModel предоставляет стандартный интерфейс для моделей, которые представляют свои данные как двумерный массив элементов. Он не используется напрямую, но должен быть унаследован.

Поскольку модель предоставляет более специализированный интерфейс, чем QAbstractItemModel, она не подходит для использования с виджетами дерева, хотя может быть использована для предоставления данных в QListView. Если вам нужно представить простой список элементов и требуется модель, содержащая только один столбец данных, наследование от QAbstractListModel может быть более подходящим.

Функции rowCount() и columnCount() возвращают размер таблицы. Для получения индекса модели, соответствующего элементу в модели, используйте index() и укажите только номер строки и столбца.

Наследование

При наследовании от QAbstractTableModel необходимо реализовать rowCount(), columnCount() и data(). QAbstractTableModel предоставляет стандартные реализации функций index() и parent(). Хорошо написанные модели также должны реализовывать headerData().

Редактируемые модели должны реализовывать setData() и flags() для возврата значения, содержащего Qt::ItemIsEditable.

Модели, которые предоставляют интерфейсы для изменения размера данных, могут предоставить реализации insertRows(), removeRows(), insertColumns() и removeColumns(). При реализации этих функций важно вызывать соответствующие функции, чтобы все подключенные представления были осведомлены об изменениях:

  • Реализация insertRows() должна вызывать beginInsertRows() до вставки новых строк в структуру данных, и она должна вызывать endInsertRows() немедленно после этого.
  • Реализация insertColumns() должна вызывать beginInsertColumns() до вставки новых столбцов в структуру данных, и она должна вызывать endInsertColumns() немедленно после этого.
  • Реализация removeRows() должна вызывать beginRemoveRows() до удаления строк из структуры данных, и она должна вызывать endRemoveRows() немедленно после этого.
  • Реализация removeColumns() должна вызывать beginRemoveColumns() до удаления столбцов из структуры данных, и она должна вызывать endRemoveColumns() немедленно после этого.

Примечание: Некоторые общие рекомендации по наследованию от моделей приведены в Справочнике по наследованию от моделей.

См. также Классы моделей, QAbstractItemModel, QAbstractListModel и Пример Pixelator.

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

QAbstractTableModel::QAbstractTableModel(QObject *parent = nullptr)

Создаёт абстрактную модель таблицы для заданного parent.

[virtual] QAbstractTableModel::~QAbstractTableModel()

Удаляет абстрактную модель таблицы.

[override virtual] bool QAbstractTableModel::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).

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

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

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

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

Возвращает индекс данных в row и column с parent.

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

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

Переопределяет: QAbstractItemModel::sibling(int row, int column, 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/qabstracttablemodel.html

Spec-Zone.ru

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