Spec-Zone.ru › Qt

Класс QModelIndex

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

Заголовок: #include <QModelIndex>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
  • Список всех членов, включая наследуемые

Открытые функции

QModelIndex()
int column() const
const void * constInternalPointer() 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
void multiData(QModelRoleDataSpan roleDataSpan) const
QModelIndex parent() const
int row() const
QModelIndex sibling(int row, int column) const
QModelIndex siblingAtColumn(int column) const
QModelIndex siblingAtRow(int row) const
bool operator!=(const QModelIndex &other) const
bool operator<(const QModelIndex &other) const
bool operator==(const QModelIndex &other) const

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

QModelIndexList

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

Этот класс используется в качестве индекса для моделей элементов, производных от 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

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

const void *QModelIndex::constInternalPointer() const

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

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

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

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

Qt::ItemFlags QModelIndex::flags() const

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

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

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

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

[since 6.0] void QModelIndex::multiData(QModelRoleDataSpan roleDataSpan) const

Заполняет заданный roleDataSpan для элемента, на который указывает индекс.

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

QModelIndex QModelIndex::parent() const

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

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

int QModelIndex::row() const

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

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

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

См. также parent(), siblingAtColumn() и siblingAtRow().

[since 5.11] QModelIndex QModelIndex::siblingAtColumn(int column) const

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

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

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

[since 5.11] QModelIndex QModelIndex::siblingAtRow(int row) const

Возвращает элемент-свойство по строке для текущего столбца. Если элемента-свойства в этом положении нет, возвращается недопустимый QModelIndex.

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

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

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

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

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

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

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

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

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

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

Связанные нечленные функции

QModelIndexList

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

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

Spec-Zone.ru

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