Sur cette page

QItemModelScatterDataProxy Class

Classe proxy permettant de présenter des données dans des modèles d'éléments avec Q3DScatter. En savoir plus...

En-tête : #include <QItemModelScatterDataProxy>
CMake : find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake : QT += datavisualization
Depuis : QtDataVisualization 1.0
En QML : ItemModelScatterDataProxy
Hérite de : QScatterDataProxy
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Propriétés

Fonctions publiques

QItemModelScatterDataProxy(QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)
virtual ~QItemModelScatterDataProxy()
QAbstractItemModel *itemModel() const
void remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)
QString rotationRole() const
QRegularExpression rotationRolePattern() const
QString rotationRoleReplace() const
void setItemModel(QAbstractItemModel *itemModel)
void setRotationRole(const QString &role)
void setRotationRolePattern(const QRegularExpression &pattern)
void setRotationRoleReplace(const QString &replace)
void setXPosRole(const QString &role)
void setXPosRolePattern(const QRegularExpression &pattern)
void setXPosRoleReplace(const QString &replace)
void setYPosRole(const QString &role)
void setYPosRolePattern(const QRegularExpression &pattern)
void setYPosRoleReplace(const QString &replace)
void setZPosRole(const QString &role)
void setZPosRolePattern(const QRegularExpression &pattern)
void setZPosRoleReplace(const QString &replace)
QString xPosRole() const
QRegularExpression xPosRolePattern() const
QString xPosRoleReplace() const
QString yPosRole() const
QRegularExpression yPosRolePattern() const
QString yPosRoleReplace() const
QString zPosRole() const
QRegularExpression zPosRolePattern() const
QString zPosRoleReplace() const

Signaux

void itemModelChanged(const QAbstractItemModel *itemModel)
void rotationRoleChanged(const QString &role)
void rotationRolePatternChanged(const QRegularExpression &pattern)
void rotationRoleReplaceChanged(const QString &replace)
void xPosRoleChanged(const QString &role)
void xPosRolePatternChanged(const QRegularExpression &pattern)
void xPosRoleReplaceChanged(const QString &replace)
void yPosRoleChanged(const QString &role)
void yPosRolePatternChanged(const QRegularExpression &pattern)
void yPosRoleReplaceChanged(const QString &replace)
void zPosRoleChanged(const QString &role)
void zPosRolePatternChanged(const QRegularExpression &pattern)
void zPosRoleReplaceChanged(const QString &replace)

Description détaillée

QItemModelScatterDataProxy vous permet d’utiliser des modèles dérivés de QAbstractItemModel comme source de données pour Q3DScatter. Il mappe les rôles de QAbstractItemModel aux valeurs XYZ des points de Q3DScatter.

Les données sont résolues de manière asynchrone chaque fois que le mappage ou le modèle change. QScatterDataProxy::arrayReset() est émis lorsque les données ont été résolues. Cependant, les insertions, les suppressions et les modifications d’un seul élément de données après l’initialisation du modèle sont résolues de manière synchrone, sauf si la même trame contient également une modification entraînant la résolution de l’ensemble du modèle.

Le mappage ignore les lignes et les colonnes de l’ QAbstractItemModel et traite tous les éléments de la même manière. Il nécessite que le modèle fournisse des rôles pour les éléments de données pouvant être mappés aux valeurs X, Y et Z des points de nuage.

Par exemple, supposons que vous disposiez d’une « QAbstractItemModel » personnalisée pour stocker diverses mesures effectuées sur des échantillons de matériaux, fournissant des données pour des rôles tels que « densité », « dureté » et « conductivité ». Vous pourriez visualiser ces propriétés sur un nuage de points à l’aide de ce proxy :

// Map "density" value to X-axis, "hardness" to Y-axis and "conductivity" to Z-axis.
QItemModelScatterDataProxy *proxy = new QItemModelScatterDataProxy(customModel,
                                                                   QStringLiteral("density"),
                                                                   QStringLiteral("hardness"),
                                                                   QStringLiteral("conductivity"));

Si les champs du modèle ne contiennent pas les données exactement au format dont vous avez besoin, vous pouvez spécifier une expression régulière de recherche et une règle de remplacement pour chaque rôle afin d’obtenir la valeur au format souhaité. Pour plus d’informations sur le fonctionnement du remplacement à l’aide d’expressions régulières, consultez la documentation relative à la fonction « QString::replace » (const QRegularExpression &rx, const QString &after). Notez que l’utilisation d’expressions régulières a un impact sur les performances ; il est donc plus efficace d’utiliser des modèles d’éléments pour lesquels il n’est pas nécessaire d’effectuer une recherche et un remplacement afin d’obtenir les valeurs souhaitées.

Par exemple, pour en savoir plus sur l’utilisation des modèles de recherche en conjonction avec les rôles, consultez l’exemple « Simple Bar Graph » sur ItemModelBarDataProxy.

Voir également la section «Gestion des données »d’Qt Data Visualization .

Documentation sur les propriétés

itemModel : QAbstractItemModel*

Cette propriété contient le modèle d'élément à utiliser comme source de données pour une série de nuages de points en 3D.

Fonctions d'accès :

QAbstractItemModel *itemModel() const
void setItemModel(QAbstractItemModel *itemModel)

Signal de notification :

void itemModelChanged(const QAbstractItemModel *itemModel)

rotationRole : QString

Cette propriété joue le rôle de modèle d’élément à associer à la rotation des éléments.

Le modèle peut fournir la valeur de rotation soit sous la forme d'une variante directement convertible en ` QQuaternion`, soit sous la forme d'une des représentations sous forme de chaîne : ` "scalar,x,y,z" ` ou ` "@angle,x,y,z"`. La première option construira directement le quaternion à partir des valeurs fournies, tandis que la seconde utilisera la méthode ` QQuaternion::fromAxisAndAngle()` pour construire le quaternion.

Fonctions d'accès :

QString rotationRole() const
void setRotationRole(const QString &role)

Signal de notification :

void rotationRoleChanged(const QString &role)

rotationRolePattern : QRegularExpression

Cette propriété indique si une opération de recherche et de remplacement est effectuée sur la valeur mappée par le rôle de rotation avant qu'elle ne soit utilisée pour la rotation des éléments.

Cette propriété spécifie l'expression régulière permettant de repérer la partie de la valeur mappée à remplacer, tandis que la propriété « rotationRoleReplace » contient la chaîne de remplacement.

Fonctions d’accès :

QRegularExpression rotationRolePattern() const
void setRotationRolePattern(const QRegularExpression &pattern)

Signal de notification :

void rotationRolePatternChanged(const QRegularExpression &pattern)

Voir également rotationRole et rotationRoleReplace.

rotationRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser avec le modèle de rôle « rotation ».

La valeur par défaut est une chaîne vide. Pour plus d’informations sur le fonctionnement de la recherche et du remplacement à l’aide d’expressions régulières, consultez la documentation relative à la fonction ` QString::replace` (`const QRegularExpression &rx, const QString &after)`.

Fonctions d’accès :

QString rotationRoleReplace() const
void setRotationRoleReplace(const QString &replace)

Signal de notification :

void rotationRoleReplaceChanged(const QString &replace)

Voir également rotationRole et rotationRolePattern.

xPosRole : QString

Cette propriété joue le rôle de modèle d'élément à mapper à la position X.

Fonctions d'accès :

QString xPosRole() const
void setXPosRole(const QString &role)

Signal de notification :

void xPosRoleChanged(const QString &role)

xPosRolePattern : QRegularExpression

Cette propriété détermine si la recherche et le remplacement sont effectués sur la valeur mappée par le rôle de position x avant qu'elle ne soit utilisée comme valeur de position d'élément.

Cette propriété spécifie l'expression régulière permettant de repérer la partie de la valeur mappée à remplacer, tandis que la propriété « xPosRoleReplace » contient la chaîne de remplacement.

Fonctions d’accès :

QRegularExpression xPosRolePattern() const
void setXPosRolePattern(const QRegularExpression &pattern)

Signal de notification :

void xPosRolePatternChanged(const QRegularExpression &pattern)

Voir également xPosRole et xPosRoleReplace.

xPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser avec le modèle de rôle « position x ».

La valeur par défaut est une chaîne vide. Pour plus d'informations sur le fonctionnement de la recherche et du remplacement à l'aide d'expressions régulières, consultez la documentation relative à la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

QString xPosRoleReplace() const
void setXPosRoleReplace(const QString &replace)

Signal de notification :

void xPosRoleReplaceChanged(const QString &replace)

Voir également xPosRole et xPosRolePattern.

yPosRole : QString

Cette propriété joue le rôle de modèle d'élément permettant de le positionner en y.

Fonctions d'accès :

QString yPosRole() const
void setYPosRole(const QString &role)

Signal de notification :

void yPosRoleChanged(const QString &role)

yPosRolePattern : QRegularExpression

Cette propriété indique si une opération de recherche et de remplacement est effectuée sur la valeur associée au rôle de position y avant qu'elle ne soit utilisée comme valeur de position d'élément.

Cette propriété spécifie l'expression régulière permettant de rechercher la partie de la valeur mappée à remplacer, tandis que la propriété « yPosRoleReplace » contient la chaîne de remplacement.

Fonctions d'accès :

QRegularExpression yPosRolePattern() const
void setYPosRolePattern(const QRegularExpression &pattern)

Signal de notification :

void yPosRolePatternChanged(const QRegularExpression &pattern)

Voir également yPosRole et yPosRoleReplace.

yPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser avec le modèle de rôle de position y.

La valeur par défaut est une chaîne vide. Pour plus d’informations sur le fonctionnement de la recherche et du remplacement à l’aide d’expressions régulières, consultez la documentation relative à la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

QString yPosRoleReplace() const
void setYPosRoleReplace(const QString &replace)

Signal de notification :

void yPosRoleReplaceChanged(const QString &replace)

Voir également yPosRole et yPosRolePattern.

zPosRole : QString

Cette propriété joue le rôle de modèle d'élément à mapper sur la position Z.

Fonctions d'accès :

QString zPosRole() const
void setZPosRole(const QString &role)

Signal de notification :

void zPosRoleChanged(const QString &role)

zPosRolePattern : QRegularExpression

Cette propriété indique si une opération de recherche et de remplacement est effectuée sur la valeur associée au rôle « z position » avant que celle-ci ne soit utilisée comme valeur de position d'élément.

Cette propriété spécifie l'expression régulière permettant de rechercher la partie de la valeur mappée à remplacer, tandis que la propriété « zPosRoleReplace » contient la chaîne de remplacement.

Fonctions d'accès :

QRegularExpression zPosRolePattern() const
void setZPosRolePattern(const QRegularExpression &pattern)

Signal de notification :

void zPosRolePatternChanged(const QRegularExpression &pattern)

Voir également zPosRole et zPosRoleReplace.

zPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser avec le modèle de rôle « z position ».

La valeur par défaut est une chaîne vide. Pour plus d’informations sur le fonctionnement de la recherche et du remplacement à l’aide d’expressions régulières, consultez la documentation relative à la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

QString zPosRoleReplace() const
void setZPosRoleReplace(const QString &replace)

Signal de notification :

void zPosRoleReplaceChanged(const QString &replace)

Voir également zPosRole et zPosRolePattern.

Documentation des fonctions membres

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QObject *parent = nullptr)

Construit un objet `QItemModelScatterDataProxy` avec un paramètre facultatif ` parent`.

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)

Construit un objet `QItemModelScatterDataProxy` à partir de ` itemModel ` et, éventuellement, de ` parent`. Le proxy ne prend pas possession de ` itemModel`, car les modèles d'éléments appartiennent généralement à d'autres contrôles.

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)

Construit un objet `QItemModelScatterDataProxy` à partir de ` itemModel ` et, éventuellement, de ` parent`. Le proxy ne prend pas possession de ` itemModel`, car les modèles d'élément appartiennent généralement à d'autres contrôles. La propriété ` xPosRole ` est définie sur ` xPosRole`, la propriété ` yPosRole ` sur ` yPosRole` et la propriété ` zPosRole ` sur ` zPosRole`.

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)

Construit un objet `QItemModelScatterDataProxy` à partir de ` itemModel ` et, éventuellement, de ` parent`. Le proxy ne prend pas possession de ` itemModel`, car les modèles d'élément appartiennent généralement à d'autres contrôles. La propriété ` xPosRole ` est définie sur ` xPosRole`, la propriété ` yPosRole ` sur ` yPosRole`, la propriété ` zPosRole ` sur ` zPosRole` et la propriété ` rotationRole ` sur ` rotationRole`.

[virtual noexcept] QItemModelScatterDataProxy::~QItemModelScatterDataProxy()

Supprime QItemModelScatterDataProxy.

void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)

Modifications apportées au mappage des adresses xPosRole, yPosRole, zPosRole et rotationRole.

void QItemModelScatterDataProxy::setItemModel(QAbstractItemModel *itemModel)

Définit ` itemModel ` comme modèle d'élément pour `Q3DScatter`. Ne prend pas possession du modèle, mais s'y connecte pour détecter les modifications.

Remarque : fonctionde définition de la propriété itemModel.

Voir également itemModel().

© 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.