Spec-Zone.ru › Qt 5.12

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

Статические открытые члены

const QMetaObject staticMetaObject
  • 10 статических открытых членов, унаследованных от QObject

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

  • 1 свойство, унаследованное от QObject
  • 2 открытых слота, унаследованных от QAbstractItemModel
  • 1 открытый слот, унаследованный от QObject
  • 18 сигналов, унаследованных от QAbstractItemModel
  • 2 сигнала, унаследованных от 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.

[virtual] QAbstractTableModel::~QAbstractTableModel()

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

[override virtual] bool QAbstractTableModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)

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

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

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

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

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

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

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

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

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

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qabstracttablemodel.html

Spec-Zone.ru

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