Qt 5.6 | Qt Core | C++ Classes | QPersistentModelIndex

Qt 5.6.2 Reference Documentation

# QPersistentModelIndex Class

The QPersistentModelIndex class is used to locate data in a data model. More...

Header: | #include <QPersistentModelIndex>
qmake: | QT += core

- List of all members, including inherited members

## Public Functions

| QPersistentModelIndex(const QModelIndex &index)
| QPersistentModelIndex(const QPersistentModelIndex &other)
| QPersistentModelIndex(QPersistentModelIndex &&other)
QModelIndex | child(int row, int column) const
int | column() const
QVariant | data(int role = Qt::DisplayRole) const
Qt::ItemFlags | flags() const
bool | isValid() const
const QAbstractItemModel * | model() const
QModelIndex | parent() const
int | row() const
QModelIndex | sibling(int row, int column) const
void | swap(QPersistentModelIndex &other)
| operator const QModelIndex &() const
bool | operator!=(const QPersistentModelIndex &other) const
bool | operator!=(const QModelIndex &other) const
bool | operator<(const QPersistentModelIndex &other) const
QPersistentModelIndex & | operator=(const QPersistentModelIndex &other)
QPersistentModelIndex & | operator=(QPersistentModelIndex &&other)
QPersistentModelIndex & | operator=(const QModelIndex &other)
bool | operator==(const QPersistentModelIndex &other) const
bool | operator==(const QModelIndex &other) const

## Related Non-Members

uint | qHash(const QPersistentModelIndex &index, uint seed = 0)

## Detailed Description

The QPersistentModelIndex class is used to locate data in a data model.

A QPersistentModelIndex is a model index that can be stored by an application, and later used to access information in a model. Unlike the QModelIndex class, it is safe to store a QPersistentModelIndex since the model will ensure that references to items will continue to be valid as long as they can be accessed by the model.

It is good practice to check that persistent model indexes are valid before using them.

See also Model/View Programming, QModelIndex, and QAbstractItemModel.

## Member Function Documentation

### QPersistentModelIndex::QPersistentModelIndex(const QModelIndex &index)

Creates a new QPersistentModelIndex that is a copy of the model index.

### QPersistentModelIndex::QPersistentModelIndex(const QPersistentModelIndex &other)

Creates a new QPersistentModelIndex that is a copy of the other persistent model index.

### QPersistentModelIndex::QPersistentModelIndex(QPersistentModelIndex &&other)

Move-constructs a QPersistentModelIndex instance, making it point at the same object that other was pointing to.

This function was introduced in Qt 5.2.

### QModelIndex QPersistentModelIndex::child(int row, int column) const

Returns the child of the model index that is stored in the given row and column.

See also parent() and sibling().

### int QPersistentModelIndex::column() const

Returns the column this persistent model index refers to.

### QVariant QPersistentModelIndex::data(int role = Qt::DisplayRole) const

Returns the data for the given role for the item referred to by the index.

See also Qt::ItemDataRole and QAbstractItemModel::setData().

### Qt::ItemFlags QPersistentModelIndex::flags() const

Returns the flags for the item referred to by the index.

This function was introduced in Qt 4.2.

### bool QPersistentModelIndex::isValid() const

Returns `true` if this persistent model index is valid; otherwise returns `false`.

A valid index belongs to a model, and has non-negative row and column numbers.

See also model(), row(), and column().

### const QAbstractItemModel *QPersistentModelIndex::model() const

Returns the model that the index belongs to.

### QModelIndex QPersistentModelIndex::parent() const

Returns the parent QModelIndex for this persistent index, or an invalid QModelIndex if it has no parent.

See also child(), sibling(), and model().

### int QPersistentModelIndex::row() const

Returns the row this persistent model index refers to.

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

Returns the sibling at row and column or an invalid QModelIndex if there is no sibling at this position.

See also parent() and child().

### void QPersistentModelIndex::swap(QPersistentModelIndex &other)

Swaps this persistent modelindex with other. This function is very fast and never fails.

This function was introduced in Qt 5.0.

### QPersistentModelIndex::operator const QModelIndex &() const

Cast operator that returns a const QModelIndex&.

### bool QPersistentModelIndex::operator!=(const QPersistentModelIndex &other) const

Returns `true` if this persistent model index is not equal to the other persistent model index; otherwise returns `false`.

This function was introduced in Qt 4.2.

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

Returns `true` if this persistent model index does not refer to the same location as the other model index; otherwise returns `false`.

### bool QPersistentModelIndex::operator<(const QPersistentModelIndex &other) const

Returns `true` if this persistent model index is smaller than the other persistent model index; otherwise returns `false`.

All values in the persistent model index are used when comparing with another persistent model index.

This function was introduced in Qt 4.1.

### QPersistentModelIndex &QPersistentModelIndex::operator=(const QPersistentModelIndex &other)

Sets the persistent model index to refer to the same item in a model as the other persistent model index.

### QPersistentModelIndex &QPersistentModelIndex::operator=(QPersistentModelIndex &&other)

Move-assigns other to this QPersistentModelIndex instance.

This function was introduced in Qt 5.2.

### QPersistentModelIndex &QPersistentModelIndex::operator=(const QModelIndex &other)

Sets the persistent model index to refer to the same item in a model as the other model index.

### bool QPersistentModelIndex::operator==(const QPersistentModelIndex &other) const

Returns `true` if this persistent model index is equal to the other persistent model index; otherwise returns `false`.

All values in the persistent model index are used when comparing with another persistent model index.

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

Returns `true` if this persistent model index refers to the same location as the other model index; otherwise returns `false`.

All values in the persistent model index are used when comparing with another model index.

## Related Non-Members

### uint qHash(const QPersistentModelIndex &index, uint seed = 0)

Returns a hash of the QPersistentModelIndex index, using seed to seed the calculation.

This function was introduced in Qt 5.0.