Spec-Zone.ru › Qt

Класс QAbstractTableModel

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

Заголовок: #include <QAbstractTableModel>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Наследует: QAbstractItemModel
Наследуется от:

QSqlQueryModel

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

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

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

[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 = QModelIndex()) 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-6.2/qabstracttablemodel.html

Spec-Zone.ru

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