QItemModelScatterDataProxy Class
Classe proxy permettant de présenter des données dans des modèles d'éléments avec Q3DScatterWidgetItem. En savoir plus...
| En-tête : | #include <QItemModelScatterDataProxy> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake : | QT += graphs |
| En QML : | ItemModelScatterDataProxy |
| Hérite de : | QScatterDataProxy |
- Liste de tous les membres, y compris les membres hérités
- QItemModelScatterDataProxy fait partie des classes C++ d'Qt Graphs pour la 3D.
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() override |
| QAbstractItemModel * | itemModel() const |
| void | remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole) |
| void | remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, const QString &scaleRole) |
| QString | rotationRole() const |
| QRegularExpression | rotationRolePattern() const |
| QString | rotationRoleReplace() const |
| QString | scaleRole() const |
| QRegularExpression | scaleRolePattern() const |
| QString | scaleRoleReplace() const |
| void | setItemModel(QAbstractItemModel *itemModel) |
| void | setRotationRole(const QString &role) |
| void | setRotationRolePattern(const QRegularExpression &pattern) |
| void | setRotationRoleReplace(const QString &replace) |
| void | setScaleRole(const QString &role) |
| void | setScaleRolePattern(const QRegularExpression &pattern) |
| void | setScaleRoleReplace(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 | scaleRoleChanged(const QString &role) |
| void | scaleRolePatternChanged(const QRegularExpression &pattern) |
| void | scaleRoleReplaceChanged(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 Q3DScatterWidgetItem. Il mappe les rôles de QAbstractItemModel aux valeurs XYZ des points de Q3DScatterWidgetItem.
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 du nuage de points.
Par exemple, supposons que vous disposiez d’une « QAbstractItemModel » personnalisée permettant de 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 aux fonctions 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 association avec les rôles, consultez la section « Utilisation de ItemModelBarDataProxy » dans « Simple Bar Graph ».
Voir également la documentation surle traitement des données« Qt Graphs » avec la 3D.
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 de caractères suivantes : ` "scalar,x,y,z" ` ou ` "@angle,x,y,z"`. La première option permet de construire directement le quaternion à partir des valeurs fournies, tandis que la seconde utilise la méthode ` QQuaternion::fromAxisAndAngle()` pour le construire.
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 rechercher 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 en association 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.
scaleRole : QString
Cette propriété joue le rôle de modèle d'élément à mettre en correspondance avec l'échelle de l'élément.
Le modèle peut fournir la valeur de l'échelle sous la forme d'une variante, à savoir « "x,y,z" ». La première option permettra de construire directement le vecteur 3D à partir des valeurs fournies.
Fonctions d'accès :
| QString | scaleRole() const |
| void | setScaleRole(const QString &role) |
Signal de notification :
| void | scaleRoleChanged(const QString &role) |
scaleRolePattern : 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 d'échelle avant qu'elle ne soit utilisée comme échelle 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é « scaleRoleReplace » contient la chaîne de remplacement.
Fonctions d'accès :
| QRegularExpression | scaleRolePattern() const |
| void | setScaleRolePattern(const QRegularExpression &pattern) |
Signal de notification :
| void | scaleRolePatternChanged(const QRegularExpression &pattern) |
Voir également scaleRole et scaleRoleReplace.
scaleRoleReplace : QString
Cette propriété contient le contenu de remplacement à utiliser avec le modèle de rôle « scale ».
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 | scaleRoleReplace() const |
| void | setScaleRoleReplace(const QString &replace) |
Signal de notification :
| void | scaleRoleReplaceChanged(const QString &replace) |
Voir également scaleRole et scaleRolePattern.
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 s'effectuent 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 rechercher 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 à mapper en position 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 « 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 permettant de le mapper à 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 de position « z » 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 « position z ».
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 d’un ` itemModel ` et d’un ` parent` facultatif. Le proxy ne prend pas possession de l’` itemModel`, car les modèles d’élément sont généralement détenus par 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, d’un ` parent`. Le proxy ne prend pas possession de ` itemModel`, car les modèles d’éléments sont généralement détenus par 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, d’un ` parent`. Le proxy ne prend pas possession de ` itemModel`, car les modèles d’éléments 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`.
[override 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::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, const QString &scaleRole)
Modifications apportées au mappage des adresses xPosRole, yPosRole, zPosRole, rotationRole et scaleRole.
void QItemModelScatterDataProxy::setItemModel(QAbstractItemModel *itemModel)
Définit ` itemModel ` comme modèle d'élément pour ` Q3DScatterWidgetItem`. Ne prend pas possession du modèle, mais s'y connecte pour détecter les modifications.
Remarque : fonctionde définition pour 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.