Класс QIdentityProxyModel
Класс QIdentityProxyModel проксирует свой исходный модель без изменений. Подробнее...
| Заголовок: | #include <QIdentityProxyModel> |
| qmake: | QT += core |
| С момента: | Qt 4.8 |
| Наследуется от: | QAbstractProxyModel |
Открытые функции
| QIdentityProxyModel(QObject *parent = nullptr) | |
| virtual | ~QIdentityProxyModel() |
Переопределённые открытые функции
| virtual int | columnCount(const QModelIndex &parent = QModelIndex()) const override |
| virtual bool | dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
| virtual QVariant | headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override |
| virtual QModelIndex | index(int row, int column, const QModelIndex &parent = QModelIndex()) const override |
| virtual bool | insertColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override |
| virtual bool | insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override |
| virtual QModelIndex | mapFromSource(const QModelIndex &sourceIndex) const override |
| virtual QItemSelection | mapSelectionFromSource(const QItemSelection &selection) const override |
| virtual QItemSelection | mapSelectionToSource(const QItemSelection &selection) const override |
| virtual QModelIndex | mapToSource(const QModelIndex &proxyIndex) const override |
| virtual QModelIndexList | match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const override |
| virtual QModelIndex | parent(const QModelIndex &child) const override |
| virtual bool | removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override |
| virtual bool | removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override |
| virtual int | rowCount(const QModelIndex &parent = QModelIndex()) const override |
| virtual void | setSourceModel(QAbstractItemModel *newSourceModel) override |
| virtual QModelIndex | sibling(int row, int column, const QModelIndex &idx) const override |
- 28 открытых функций, унаследованных от QAbstractProxyModel
- 40 открытых функций, унаследованных от QAbstractItemModel
- 32 открытых функции, унаследованных от QObject
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QAbstractProxyModel
- 1 свойство, унаследованное от QObject
- 2 открытых слотов, унаследованных от QAbstractItemModel
- 1 открытый слот, унаследованный от QObject
- 1 сигнал, унаследованный от QAbstractProxyModel
- 18 сигналов, унаследованных от QAbstractItemModel
- 2 сигнала, унаследованных от QObject
- 11 статических открытых членов, унаследованных от QObject
- 19 защищённых функций, унаследованных от QAbstractItemModel
- 9 защищённых функций, унаследованных от QObject
- 1 защищённый слот, унаследованный от QAbstractProxyModel
- 1 защищённый слот, унаследованный от QAbstractItemModel
Подробное описание
Класс QIdentityProxyModel проксирует свой исходный модель без изменений.
QIdentityProxyModel можно использовать для точного передачи структуры исходной модели без сортировки, фильтрации или других преобразований. Это аналогично концепции единичной матрицы, где A.I = A.
Поскольку он не выполняет сортировку или фильтрацию, этот класс наиболее подходит для проксирования моделей, которые преобразуют данные() исходной модели. Например, модель прокси может быть создана для определения используемого шрифта или цвета фона или подсказки. Это исключает необходимость реализации всех обработок данных в одном классе, который создаёт структуру модели, и может также использоваться для создания переиспользуемых компонентов.
Это также предоставляет способ изменения данных в случае, когда исходная модель предоставляется сторонним приложением, которое нельзя изменить.
class DateFormatProxyModel : public QIdentityProxyModel
{
// ...
void setDateFormatString(const QString &formatString)
{
m_formatString = formatString;
}
QVariant data(const QModelIndex &index, int role) const override
{
if (role != Qt::DisplayRole)
return QIdentityProxyModel::data(index, role);
const QDateTime dateTime = sourceModel()->data(SourceClass::DateRole).toDateTime();
return dateTime.toString(m_formatString);
}
private:
QString m_formatString;
}; См. также QAbstractProxyModel, Программирование моделей/представлений и QAbstractItemModel.
Документация по функциям-членам
QIdentityProxyModel::QIdentityProxyModel(QObject *parent = nullptr)
Конструктор модели-идентификатора с заданным parent.
[virtual] QIdentityProxyModel::~QIdentityProxyModel()
Деструктор этой модели-идентификатора.
[override virtual] int QIdentityProxyModel::columnCount(const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::columnCount().
[override virtual] bool QIdentityProxyModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
Переопределено из QAbstractProxyModel::dropMimeData().
[override virtual] QVariant QIdentityProxyModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
Переопределено из QAbstractProxyModel::headerData().
[override virtual] QModelIndex QIdentityProxyModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::index().
[override virtual] bool QIdentityProxyModel::insertColumns(int column, int count, const QModelIndex &parent = QModelIndex())
Переопределено из QAbstractItemModel::insertColumns().
[override virtual] bool QIdentityProxyModel::insertRows(int row, int count, const QModelIndex &parent = QModelIndex())
Переопределено из QAbstractItemModel::insertRows().
[override virtual] QModelIndex QIdentityProxyModel::mapFromSource(const QModelIndex &sourceIndex) const
Переопределено из QAbstractProxyModel::mapFromSource().
[override virtual] QItemSelection QIdentityProxyModel::mapSelectionFromSource(const QItemSelection &selection) const
Переопределено из QAbstractProxyModel::mapSelectionFromSource().
[override virtual] QItemSelection QIdentityProxyModel::mapSelectionToSource(const QItemSelection &selection) const
Переопределено из QAbstractProxyModel::mapSelectionToSource().
[override virtual] QModelIndex QIdentityProxyModel::mapToSource(const QModelIndex &proxyIndex) const
Переопределено из QAbstractProxyModel::mapToSource().
[override virtual] QModelIndexList QIdentityProxyModel::match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap)) const
Переопределено из QAbstractItemModel::match().
[override virtual] QModelIndex QIdentityProxyModel::parent(const QModelIndex &child) const
Переопределено из QAbstractItemModel::parent().
[override virtual] bool QIdentityProxyModel::removeColumns(int column, int count, const QModelIndex &parent = QModelIndex())
Переопределено из QAbstractItemModel::removeColumns().
[override virtual] bool QIdentityProxyModel::removeRows(int row, int count, const QModelIndex &parent = QModelIndex())
Переопределено из QAbstractItemModel::removeRows().
[override virtual] int QIdentityProxyModel::rowCount(const QModelIndex &parent = QModelIndex()) const
Переопределено из QAbstractItemModel::rowCount().
[override virtual] void QIdentityProxyModel::setSourceModel(QAbstractItemModel *newSourceModel)
Переопределено из QAbstractProxyModel::setSourceModel().
[override virtual] QModelIndex QIdentityProxyModel::sibling(int row, int column, const QModelIndex &idx) const
Переопределено из QAbstractProxyModel::sibling().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qidentityproxymodel.html