Класс QAbstractTableModel
Класс QAbstractTableModel предоставляет абстрактную модель, которую можно наследовать для создания моделей таблиц. Подробнее...
| Заголовок: | #include <QAbstractTableModel> |
| qmake: | QT += core |
| Наследует: | QAbstractItemModel |
| Наследуется от: |
Открытые функции
| 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
- 31 открытых функций, унаследованных от 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/archives/qt-5.6/qabstracttablemodel.html