QItemModelScatterDataProxy Class
Classe proxy pour la présentation des données dans les modèles d'éléments avec Q3DScatter. 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érites : | QScatterDataProxy |
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 les modèles dérivés de QAbstractItemModel comme source de données pour Q3DScatter. Il met en correspondance les rôles de QAbstractItemModel avec les 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. Toutefois, 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, à moins que la même trame ne contienne également une modification qui entraîne la résolution de l'ensemble du modèle.
Le mappage ignore les lignes et les colonnes du site QAbstractItemModel et traite tous les éléments de la même manière. Elle exige que le modèle fournisse des rôles pour les éléments de données qui peuvent être mis en correspondance avec les valeurs X, Y et Z des points de dispersion.
Par exemple, supposons que vous disposiez d'un site QAbstractItemModel personnalisé 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 pouvez visualiser ces propriétés sur un graphique de dispersion à 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 dans le format exact dont vous avez besoin, vous pouvez spécifier une expression régulière de modèle de recherche et une règle de remplacement pour chaque rôle afin d'obtenir la valeur dans le format dont vous avez besoin. Pour plus d'informations sur le fonctionnement du remplacement à l'aide d'expressions régulières, voir la documentation de 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 des recherches et des remplacements pour obtenir les valeurs souhaitées.
Pour un exemple d'utilisation des modèles de recherche en conjonction avec les rôles, voir ItemModelBarDataProxy usage in Simple Bar Graph example.
Voir également Qt Data Visualization Data Handling.
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é contient le rôle du modèle d'élément à mettre en correspondance avec la rotation de l'élément.
Le modèle peut fournir la valeur de la rotation sous la forme d'une variante directement convertible en QQuaternion, ou sous la forme d'une des représentations sous forme de chaîne de caractères : "scalar,x,y,z" ou "@angle,x,y,z". La première construira directement le quaternion avec les valeurs données, et la seconde construira le quaternion à l'aide de la méthode QQuaternion::fromAxisAndAngle().
Fonctions d'accès :
| QString | rotationRole() const |
| void | setRotationRole(const QString &role) |
Signal du notificateur :
| void | rotationRoleChanged(const QString &role) |
rotationRolePattern : QRegularExpression
Cette propriété indique si une recherche et un remplacement sont effectués sur la valeur mappée par le rôle de rotation avant qu'elle ne soit utilisée pour la rotation de l'élément.
Cette propriété spécifie l'expression régulière pour trouver la partie de la valeur mappée à remplacer et la propriété rotationRoleReplace contient la chaîne de remplacement.
Fonctions d'accès :
| QRegularExpression | rotationRolePattern() const |
| void | setRotationRolePattern(const QRegularExpression &pattern) |
Notifier signal :
| void | rotationRolePatternChanged(const QRegularExpression &pattern) |
Voir également rotationRole et rotationRoleReplace.
rotationRoleReplace : QString
Cette propriété contient le contenu de remplacement à utiliser en conjonction avec le modèle de rôle de 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, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).
Fonctions d'accès :
| QString | rotationRoleReplace() const |
| void | setRotationRoleReplace(const QString &replace) |
Signal du notificateur :
| void | rotationRoleReplaceChanged(const QString &replace) |
Voir également rotationRole et rotationRolePattern.
xPosRole : QString
Cette propriété contient le rôle du modèle d'élément à mettre en correspondance avec 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é indique si la recherche et le remplacement sont effectués sur la valeur mappée par le rôle x position avant qu'elle ne soit utilisée comme valeur de position de l'élément.
Cette propriété spécifie l'expression régulière permettant de trouver la partie de la valeur mappée à remplacer et la propriété xPosRoleReplace contient la chaîne de remplacement.
Fonctions d'accès :
| QRegularExpression | xPosRolePattern() const |
| void | setXPosRolePattern(const QRegularExpression &pattern) |
Notifier signal :
| void | xPosRolePatternChanged(const QRegularExpression &pattern) |
Voir également xPosRole et xPosRoleReplace.
xPosRoleReplace : QString
Cette propriété contient le contenu de remplacement à utiliser en conjonction avec le modèle de rôle x 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, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).
Fonctions d'accès :
| QString | xPosRoleReplace() const |
| void | setXPosRoleReplace(const QString &replace) |
Signal du notificateur :
| void | xPosRoleReplaceChanged(const QString &replace) |
Voir également xPosRole et xPosRolePattern.
yPosRole : QString
Cette propriété contient le rôle du modèle d'élément à mettre en correspondance avec la 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 recherche et un remplacement sont effectués sur la valeur mappée par le rôle de position y avant qu'elle ne soit utilisée comme valeur de position de l'élément.
Cette propriété spécifie l'expression régulière permettant de trouver la partie de la valeur mappée à remplacer et la propriété yPosRoleReplace contient la chaîne de remplacement.
Fonctions d'accès :
| QRegularExpression | yPosRolePattern() const |
| void | setYPosRolePattern(const QRegularExpression &pattern) |
Notifier signal :
| void | yPosRolePatternChanged(const QRegularExpression &pattern) |
Voir également yPosRole et yPosRoleReplace.
yPosRoleReplace : QString
Cette propriété contient le contenu de remplacement à utiliser en conjonction avec le modèle de rôle y 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, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).
Fonctions d'accès :
| QString | yPosRoleReplace() const |
| void | setYPosRoleReplace(const QString &replace) |
Signal du notificateur :
| void | yPosRoleReplaceChanged(const QString &replace) |
Voir également yPosRole et yPosRolePattern.
zPosRole : QString
Cette propriété contient le rôle du modèle d'élément à mettre en correspondance avec 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 recherche et un remplacement sont effectués sur la valeur mappée par le rôle z position avant qu'elle ne soit utilisée comme valeur de position de l'élément.
Cette propriété spécifie l'expression régulière permettant de trouver la partie de la valeur mappée à remplacer et la propriété zPosRoleReplace contient la chaîne de remplacement.
Fonctions d'accès :
| QRegularExpression | zPosRolePattern() const |
| void | setZPosRolePattern(const QRegularExpression &pattern) |
Notifier signal :
| void | zPosRolePatternChanged(const QRegularExpression &pattern) |
Voir également zPosRole et zPosRoleReplace.
zPosRoleReplace : QString
Cette propriété contient le contenu de remplacement à utiliser en conjonction 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, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).
Fonctions d'accès :
| QString | zPosRoleReplace() const |
| void | setZPosRoleReplace(const QString &replace) |
Signal du notificateur :
| void | zPosRoleReplaceChanged(const QString &replace) |
Voir également zPosRole et zPosRolePattern.
Documentation sur les fonctions membres
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QObject *parent = nullptr)
Construit QItemModelScatterDataProxy avec l'option parent.
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
Construit QItemModelScatterDataProxy avec itemModel et parent en option. Le proxy n'est pas propriétaire 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 QItemModelScatterDataProxy avec itemModel et parent en option. Le proxy n'est pas propriétaire 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, 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 QItemModelScatterDataProxy avec itemModel et parent en option. Le proxy n'est pas propriétaire 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.
[virtual noexcept] QItemModelScatterDataProxy::~QItemModelScatterDataProxy()
Détruit QItemModelScatterDataProxy.
void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)
Modifie la cartographie de 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 écouter les changements.
Note : Fonction de définition de la propriété itemModel.
Voir aussi 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.