Spec-Zone.ru › Qt 5.14

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

~QAbstractTableModel::~QAbstractTableModel()

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

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

Qt::ItemFlags QAbstractTableModel::flags(const QModelIndex &index) const

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

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

QModelIndex QAbstractTableModel::sibling(int row, int column, const QModelIndex &idx) const

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

Qt Documentation

Spec-Zone.ru

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