Sur cette page

QPersistentModelIndex Class

La classe QPersistentModelIndex est utilisée pour localiser des données dans un modèle de données. Plus d'informations...

En-tête : #include <QPersistentModelIndex>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Cette classe est fortement comparable.

Cette classe est fortement comparable à QModelIndex.

Fonctions publiques

QPersistentModelIndex(const QModelIndex &index)
QPersistentModelIndex(const QPersistentModelIndex &other)
QPersistentModelIndex(QPersistentModelIndex &&other)
int column() const
QVariant data(int role = Qt::DisplayRole) const
Qt::ItemFlags flags() const
bool isValid() const
const QAbstractItemModel *model() const
(since 6.0) void multiData(QModelRoleDataSpan roleDataSpan) const
QModelIndex parent() const
int row() const
QModelIndex sibling(int row, int column) const
void swap(QPersistentModelIndex &other)
operator QModelIndex() const
QPersistentModelIndex &operator=(QPersistentModelIndex &&other)
QPersistentModelIndex &operator=(const QModelIndex &other)
QPersistentModelIndex &operator=(const QPersistentModelIndex &other)
size_t qHash(const QPersistentModelIndex &key, size_t seed = 0)
bool operator!=(const QPersistentModelIndex &lhs, const QModelIndex &rhs)
bool operator!=(const QPersistentModelIndex &lhs, const QPersistentModelIndex &rhs)
bool operator<(const QPersistentModelIndex &lhs, const QPersistentModelIndex &rhs)
bool operator==(const QPersistentModelIndex &lhs, const QModelIndex &rhs)
bool operator==(const QPersistentModelIndex &lhs, const QPersistentModelIndex &rhs)

Description détaillée

Un QPersistentModelIndex est un index de modèle qui peut être stocké par une application et utilisé ultérieurement pour accéder aux informations d'un modèle. Contrairement à la classe QModelIndex, il est sûr de stocker un QPersistentModelIndex puisque le modèle garantit que les références aux éléments resteront valides tant qu'ils seront accessibles par le modèle.

Une bonne pratique consiste à vérifier que les index de modèles persistants sont valides avant de les utiliser.

Remarque : Vous ne pouvez pas stocker l'index QPersistentModelIndex d'une page QStandardItemModel dans l'un des éléments du modèle.

Voir aussi Programmation Modèle/Vue, QModelIndex, et QAbstractItemModel.

Documentation des fonctions membres

QPersistentModelIndex::QPersistentModelIndex(const QModelIndex &index)

Crée un nouveau QPersistentModelIndex qui est une copie du modèle index.

QPersistentModelIndex::QPersistentModelIndex(const QPersistentModelIndex &other)

Crée un nouveau QPersistentModelIndex qui est une copie de l'index du modèle persistant other.

[noexcept] QPersistentModelIndex::QPersistentModelIndex(QPersistentModelIndex &&other)

Move-construit une instance de QPersistentModelIndex, en la faisant pointer sur le même objet que other.

int QPersistentModelIndex::column() const

Renvoie la colonne à laquelle l'index du modèle persistant fait référence.

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

Renvoie les données de l'article référencé par l'index pour l'adresse role donnée, ou une adresse QVariant construite par défaut si l'index du modèle persistant est invalid.

Voir aussi Qt::ItemDataRole et QAbstractItemModel::setData().

Qt::ItemFlags QPersistentModelIndex::flags() const

Renvoie les drapeaux de l'élément auquel se réfère l'index.

bool QPersistentModelIndex::isValid() const

Renvoie true si l'index du modèle persistant est valide ; sinon, renvoie false.

Un index valide appartient à un modèle et possède des numéros de ligne et de colonne non négatifs.

Voir aussi model(), row(), et column().

const QAbstractItemModel *QPersistentModelIndex::model() const

Renvoie le modèle auquel appartient l'index.

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

Remplit le site roleDataSpan pour l'élément auquel l'index fait référence.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi Qt::ItemDataRole et QAbstractItemModel::setData().

QModelIndex QPersistentModelIndex::parent() const

Renvoie le parent QModelIndex de cet index persistant, ou un QModelIndex invalide s'il n'a pas de parent.

Voir aussi sibling() et model().

int QPersistentModelIndex::row() const

Renvoie la ligne à laquelle l'index du modèle persistant fait référence.

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

Renvoie le frère ou la sœur à row et column ou un QModelIndex invalide s'il n'y a pas de frère ou de sœur à cette position.

Voir aussi parent().

[noexcept] void QPersistentModelIndex::swap(QPersistentModelIndex &other)

Remplace ce modelindex persistant par other. Cette opération est très rapide et n'échoue jamais.

QPersistentModelIndex::operator QModelIndex() const

Opérateur de fonte qui renvoie un QModelIndex.

[noexcept] QPersistentModelIndex &QPersistentModelIndex::operator=(QPersistentModelIndex &&other)

Move-assigne other à cette instance QPersistentModelIndex.

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

Définit l'index du modèle persistant pour qu'il fasse référence au même élément d'un modèle que l'index du modèle other.

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

Définit l'index du modèle persistant pour qu'il fasse référence au même élément d'un modèle que l'index du modèle persistant other.

Non-membres associés

[noexcept] size_t qHash(const QPersistentModelIndex &key, size_t seed = 0)

Renvoie la valeur de hachage pour key, en utilisant seed comme base de calcul.

[noexcept] bool operator!=(const QPersistentModelIndex &lhs, const QModelIndex &rhs)

Renvoie true si l'index du modèle persistant lhs ne fait pas référence au même emplacement que l'index du modèle rhs; sinon, renvoie false.

[noexcept] bool operator!=(const QPersistentModelIndex &lhs, const QPersistentModelIndex &rhs)

Renvoie true si l'index du modèle persistant lhs n'est pas égal à l'index du modèle persistant rhs; sinon, renvoie false.

[noexcept] bool operator<(const QPersistentModelIndex &lhs, const QPersistentModelIndex &rhs)

Renvoie true si l'index du modèle persistant lhs est plus petit que l'index du modèle persistant rhs; sinon, renvoie false.

Le pointeur de données interne, la ligne, la colonne et les valeurs du modèle dans l'index de modèle persistant sont utilisés lors de la comparaison avec un autre index de modèle persistant.

[noexcept] bool operator==(const QPersistentModelIndex &lhs, const QModelIndex &rhs)

Renvoie true si l'index de modèle persistant lhs fait référence au même emplacement que l'index de modèle rhs; sinon, renvoie false.

Le pointeur de données interne, la ligne, la colonne et les valeurs du modèle dans l'index de modèle persistant sont utilisés lors de la comparaison avec un autre index de modèle.

[noexcept] bool operator==(const QPersistentModelIndex &lhs, const QPersistentModelIndex &rhs)

Renvoie true si l'index du modèle persistant lhs est égal à l'index du modèle persistant rhs; sinon, renvoie false.

Le pointeur de données interne, la ligne, la colonne et les valeurs du modèle dans l'index de modèle persistant sont utilisés lors de la comparaison avec un autre index de modèle persistant.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.