Spec-Zone.ru › Qt 5.13

Класс QAbstractTableModel

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

Заголовок: #include <QAbstractTableModel>
qmake: QT += core
Наследует: QAbstractItemModel
  • Список всех членов, включая унаследованные

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

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 = ...) 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(). Модель предоставляет стандартную реализацию функций 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 = ...) 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-5.13/qabstracttablemodel.html

Spec-Zone.ru

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