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.