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