Spec-Zone.ru › Qt 5.12

Класс 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
  • 28 открытых функций унаследованных от QAbstractProxyModel
  • 40 открытых функций унаследованных от QAbstractItemModel
  • 32 открытых функций унаследованных от QObject

Статические открытые члены

const QMetaObject staticMetaObject
  • 10 статических открытых членов унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследованное от QAbstractProxyModel
  • 1 свойство унаследованное от QObject
  • 2 открытых слота унаследованных от QAbstractItemModel
  • 1 открытый слот унаследованный от QObject
  • 1 сигнал унаследованный от QAbstractProxyModel
  • 18 сигналов унаследованных от QAbstractItemModel
  • 2 сигнала унаследованных от 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/qt-5.12/qidentityproxymodel.html

Spec-Zone.ru

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