Spec-Zone.ru › Qt 5.9

Класс QModelIndex

Класс QModelIndex используется для определения местоположения данных в модели данных. Подробнее...

Заголовок: #include <QModelIndex>
qmake: QT += core
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Общедоступные функции

QModelIndex()
int column() const
QVariant data(int role = Qt::DisplayRole) const
Qt::ItemFlags flags() const
quintptr internalId() const
void * internalPointer() const
bool isValid() const
const QAbstractItemModel * model() const
QModelIndex parent() const
int row() const
QModelIndex sibling(int row, int column) const
bool operator!=(const QModelIndex &other) const
bool operator<(const QModelIndex &other) const
bool operator==(const QModelIndex &other) const

Связанные нечлены

typedef QModelIndexList

Подробное описание

Класс QModelIndex используется для определения местоположения данных в модели данных.

Этот класс используется в качестве индекса для моделей элементов, полученных от QAbstractItemModel. Индекс используется представлениями элементов, делегатами и моделями выделения для определения местоположения элемента в модели.

Новые объекты QModelIndex создаются моделью с помощью функции QAbstractItemModel::createIndex(). Недействительный индекс модели можно создать с помощью конструктора QModelIndex. Недействительные индексы часто используются в качестве родительских индексов при ссылке на элементы верхнего уровня в модели.

Индексы модели ссылаются на элементы в моделях и содержат всю необходимую информацию для определения их местоположения в этих моделях. Каждый индекс находится в заданной строке и столбце и может иметь родительский индекс; используйте row(), column() и parent(), чтобы получить эту информацию. Каждый элемент верхнего уровня в модели представлен индексом модели, у которого нет родительского индекса; в этом случае parent() вернёт недействительный индекс модели, эквивалентный индексу, созданному с помощью конструктора QModelIndex() без аргументов.

Чтобы получить индекс модели, который ссылается на существующий элемент в модели, вызовите QAbstractItemModel::index() с необходимыми значениями строки и столбца и индексом модели родителя. При ссылке на элементы верхнего уровня в модели в качестве родительского индекса передайте QModelIndex().

Функция model() возвращает модель, на которую ссылается индекс, как QAbstractItemModel. Функция child() используется для проверки элементов, содержащихся под индексом в модели. Функция sibling() позволяет переходить к элементам в модели на том же уровне, что и индекс.

Примечание: Индексы модели следует использовать сразу и затем отбрасывать. Не следует полагаться на то, что индексы останутся действительными после вызова функций модели, которые изменяют структуру модели или удаляют элементы. Если вам нужно сохранить индекс модели со временем, используйте QPersistentModelIndex.

См. также Программирование модели/представления, QPersistentModelIndex и QAbstractItemModel.

Документация по функциям-членам

QModelIndex::QModelIndex()

Создаёт новый пустой индекс модели. Этот тип индекса модели используется для обозначения того, что позиция в модели недействительна.

См. также isValid() и QAbstractItemModel.

int QModelIndex::column() const

Возвращает столбец, на который ссылается этот индекс модели.

QVariant QModelIndex::data(int role = Qt::DisplayRole) const

Возвращает данные для заданного role для элемента, на который ссылается индекс.

Qt::ItemFlags QModelIndex::flags() const

Возвращает флаги для элемента, на который ссылается индекс.

Эта функция была добавлена в Qt 4.2.

quintptr QModelIndex::internalId() const

Возвращает quintptr используемый моделью для сопоставления индекса со внутренней структурой данных.

См. также QAbstractItemModel::createIndex().

void *QModelIndex::internalPointer() const

Возвращает void * указатель, используемый моделью для сопоставления индекса со внутренней структурой данных.

См. также QAbstractItemModel::createIndex().

bool QModelIndex::isValid() const

Возвращает true, если этот индекс модели действителен; в противном случае возвращает false.

Действительный индекс принадлежит модели и имеет неотрицательные номера строки и столбца.

См. также model(), row() и column().

const QAbstractItemModel *QModelIndex::model() const

Возвращает указатель на модель, содержащую элемент, на который ссылается этот индекс.

Возвращается постоянный указатель на модель, так как вызовы не постоянных функций модели могут сделать индекс модели недействительным и, возможно, привести к сбою вашего приложения.

QModelIndex QModelIndex::parent() const

Возвращает родителя индекса модели или QModelIndex() если у него нет родителя.

См. также sibling() и model().

int QModelIndex::row() const

Возвращает строку, на которую ссылается этот индекс модели.

QModelIndex QModelIndex::sibling(int row, int column) const

Возвращает «сестру» по адресу row и column. Если «сестры» в этом месте нет, возвращается недействительный QModelIndex.

См. также parent().

bool QModelIndex::operator!=(const QModelIndex &other) const

Возвращает true если этот индекс модели не ссылается на то же место, что и индекс модели other; в противном случае возвращает false.

bool QModelIndex::operator<(const QModelIndex &other) const

Возвращает true если этот индекс модели меньше, чем индекс модели other; в противном случае возвращает false.

Расчёт меньше чем не напрямую полезен для разработчиков — способ сравнения индексов с разными родителями не определён. Этот оператор существует только для того, чтобы класс можно было использовать с QMap.

Эта функция была добавлена в Qt 4.1.

bool QModelIndex::operator==(const QModelIndex &other) const

Возвращает true если этот индекс модели ссылается на то же место, что и индекс модели other; в противном случае возвращает false.

При сравнении с другим индексом модели используются все значения индекса модели.

Связанные нечлены

typedef QModelIndexList

Синоним для QList<QModelIndex>.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qmodelindex.html

Spec-Zone.ru

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