Spec-Zone.ru › Qt 5.11

Класс 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
  • 40 открытых функций, унаследованных от QAbstractItemModel
  • 32 открытых функций, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 2 открытых слота, унаследованных от QAbstractItemModel
  • 1 открытый слот, унаследованный от QObject
  • 18 сигналов, унаследованных от QAbstractItemModel
  • 2 сигнала, унаследованных от QObject
  • 11 статических открытых членов, унаследованных от QObject
  • 19 защищённых функций, унаследованных от QAbstractItemModel
  • 9 защищённых функций, унаследованных от QObject
  • 1 защищённый слот, унаследованный от QAbstractItemModel

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

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

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

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

Переопределено из QAbstractItemModel::flags().

QModelIndex QAbstractTableModel::index(int row, int column, const QModelIndex &parent = ...) const

Переопределено из QAbstractItemModel::index().

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

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

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

Переопределено из QAbstractItemModel::sibling().

Copyright (C) 2018 The Qt Company Ltd.

Spec-Zone.ru

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