Spec-Zone.ru › Qt 5.9

Класс QAbstractTableModel

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

Заголовок: #include <QAbstractTableModel>
qmake: QT += core
Наследует: QAbstractItemModel
Наследуется от:

QSqlQueryModel

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

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

QAbstractTableModel(QObject *parent = Q_NULLPTR)
~QAbstractTableModel()

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

virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
virtual Qt::ItemFlags flags(const QModelIndex &index) const
virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const
virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const
  • 39 открытых функций, унаследованных от 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 = Q_NULLPTR)

Конструктор абстрактной модели таблицы для указанного parent.

QAbstractTableModel::~QAbstractTableModel()

Деструктор абстрактной модели таблицы.

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

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

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

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

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

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

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

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

[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.9/qabstracttablemodel.html

Spec-Zone.ru

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