Q3DScatterWidgetItem Class
La classe Q3DScatterWidgetItem fournit des méthodes pour le rendu des graphiques de dispersion 3D. Plus d'informations...
| En-tête : | #include <Q3DScatterWidgetItem> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS GraphsWidgets)target_link_libraries(mytarget PRIVATE Qt6::GraphsWidgets) |
| qmake : | QT += graphswidgets |
| Héritages : | Q3DGraphsWidgetItem |
- Liste de tous les membres, y compris les membres hérités
- Q3DScatterWidgetItem fait partie de Qt Graphs C++ Classes for Widgets.
Propriétés
- axisX : QValue3DAxis*
- axisY : QValue3DAxis*
- axisZ : QValue3DAxis*
- selectedSeries : QScatter3DSeries*
Fonctions publiques
| Q3DScatterWidgetItem(QObject *parent = nullptr) | |
| virtual | ~Q3DScatterWidgetItem() override |
| void | addAxis(QValue3DAxis *axis) |
| void | addSeries(QScatter3DSeries *series) |
| QList<QValue3DAxis *> | axes() const |
| QValue3DAxis * | axisX() const |
| QValue3DAxis * | axisY() const |
| QValue3DAxis * | axisZ() const |
| void | releaseAxis(QValue3DAxis *axis) |
| void | removeSeries(QScatter3DSeries *series) |
| QScatter3DSeries * | selectedSeries() const |
| QList<QScatter3DSeries *> | seriesList() const |
| void | setAxisX(QValue3DAxis *axis) |
| void | setAxisY(QValue3DAxis *axis) |
| void | setAxisZ(QValue3DAxis *axis) |
Signaux
| void | axisXChanged(QValue3DAxis *axis) |
| void | axisYChanged(QValue3DAxis *axis) |
| void | axisZChanged(QValue3DAxis *axis) |
| void | selectedSeriesChanged(QScatter3DSeries *series) |
Description détaillée
Cette classe permet aux développeurs de rendre des graphiques de dispersion en 3D et de les visualiser en faisant pivoter librement la scène. La rotation est réalisée en maintenant le bouton droit de la souris enfoncé et en déplaçant la souris, tandis que le zoom est réalisé à l'aide de la molette de la souris. Si elle est activée, la sélection s'effectue à l'aide du bouton gauche de la souris. La scène peut être ramenée à la vue par défaut de la caméra en cliquant sur la molette de la souris. Sur les appareils tactiles, la rotation s'effectue par tapotement et déplacement, la sélection par tapotement et maintien, et le zoom par pincement.
Si aucun axe n'est défini explicitement pour Q3DScatterWidgetItem, des axes temporaires par défaut sans étiquette sont créés. Ces axes par défaut peuvent être modifiés via les accesseurs d'axe, mais dès qu'un axe est défini explicitement pour l'orientation, l'axe par défaut pour cette orientation est détruit.
Q3DScatterWidgetItem supporte plus d'une série visible en même temps.
Q3DScatterWidgetItem prend en charge la transparence. Cette fonctionnalité vous permet d'ajuster l'opacité des points de diffusion, en les rendant partiellement transparents, totalement transparents ou opaques.
Comment construire un graphique Q3DScatterWidgetItem minimal ?
Commencez par construire Q3DScatterWidgetItem. Comme nous exécutons le graphique en tant que fenêtre de premier niveau dans cet exemple, nous devons désactiver le drapeau Qt::FramelessWindowHint, qui est activé par défaut :
QQuickWidget quickWidget; Q3DScatterWidgetItem scatter; scatter.setWidget(&quickWidget); scatter.widget()->setMinimumSize(QSize(256, 256));
Q3DScatterWidgetItem est maintenant prêt à recevoir des données à rendre. Ajoutez une série de 3 éléments QVector3D:
Remarque : dans la nouvelle relation proxy-série, les données sont conservées dans des séries. Par conséquent, pour que le proxy puisse ajouter, supprimer ou modifier les données, il est indispensable de créer d'abord une série.
QScatter3DSeries series; QScatterDataArray data; data << QScatterDataItem(0.5f, 0.5f, 0.5f) << QScatterDataItem(-0.3f, -0.5f, -0.4f) << QScatterDataItem(0.0f, -0.3f, 0.2f); series.dataProxy()->addItems(data); scatter.addSeries(&series);
Enfin, vous devrez la rendre visible :
scatter.widget()->show();
Le code complet nécessaire à la création et à l'affichage de ce graphique est le suivant :
#include <QtGraphs> #include <QtGraphsWidgets/q3dscatterwidgetitem.h> #include <QtWidgets/qapplication.h> int main(int argc, char **argv) { QApplication app(argc, argv); QQuickWidget quickWidget; Q3DScatterWidgetItem scatter; scatter.setWidget(&quickWidget); scatter.widget()->setMinimumSize(QSize(256, 256)); QScatter3DSeries series; QScatterDataArray data; data << QScatterDataItem(0.5f, 0.5f, 0.5f) << QScatterDataItem(-0.3f, -0.5f, -0.4f) << QScatterDataItem(0.0f, -0.3f, 0.2f); series.dataProxy()->addItems(data); scatter.addSeries(&series); scatter.widget()->show(); return app.exec(); }
Et voici ce que ces quelques lignes de code produisent :

La scène peut être tournée, zoomée, et un élément peut être sélectionné pour voir sa position, mais aucune autre interaction n'est incluse dans cet exemple de code minimal. Vous pouvez en apprendre davantage en vous familiarisant avec les exemples fournis, comme le graphique de dispersion simple.
Voir également Q3DBarsWidgetItem, Q3DSurfaceWidgetItem, et Qt Graphs Classes C++ pour la 3D.
Documentation sur les propriétés
axisX : QValue3DAxis*
Cette propriété définit l'axe des x actif.
Définit axis comme l'axe des x actif. Appelle implicitement addAxis() pour transférer la propriété de l'axe à ce graphique.
Si axis est nul, un axe temporaire par défaut sans étiquette et avec une plage qui s'ajuste automatiquement est créé. Cet axe temporaire est détruit si un autre axe est défini explicitement avec la même orientation.
Fonctions d'accès :
| QValue3DAxis * | axisX() const |
| void | setAxisX(QValue3DAxis *axis) |
Signal Notifier :
| void | axisXChanged(QValue3DAxis *axis) |
Voir aussi addAxis() et releaseAxis().
axisY : QValue3DAxis*
Cette propriété définit l'axe des ordonnées actif.
Définit axis comme axe des ordonnées actif. Appelle implicitement addAxis() pour transférer la propriété de l'axe à ce graphique.
Si axis est nul, un axe temporaire par défaut sans étiquette et avec une plage qui s'ajuste automatiquement est créé. Cet axe temporaire est détruit si un autre axe est défini explicitement avec la même orientation.
Fonctions d'accès :
| QValue3DAxis * | axisY() const |
| void | setAxisY(QValue3DAxis *axis) |
Signal Notifier :
| void | axisYChanged(QValue3DAxis *axis) |
Voir aussi addAxis() et releaseAxis().
axisZ : QValue3DAxis*
Cette propriété définit l'axe z actif.
Définit axis comme axe z actif. Appelle implicitement addAxis() pour transférer la propriété de l'axe à ce graphique.
Si axis est nul, un axe temporaire par défaut sans étiquette et avec une plage qui s'ajuste automatiquement est créé. Cet axe temporaire est détruit si un autre axe est défini explicitement avec la même orientation.
Fonctions d'accès :
| QValue3DAxis * | axisZ() const |
| void | setAxisZ(QValue3DAxis *axis) |
Signal Notifier :
| void | axisZChanged(QValue3DAxis *axis) |
Voir aussi addAxis() et releaseAxis().
[read-only] selectedSeries : QScatter3DSeries*
Cette propriété contient la série sélectionnée ou null.
Fonctions d'accès :
| QScatter3DSeries * | selectedSeries() const |
Signal du notificateur :
| void | selectedSeriesChanged(QScatter3DSeries *series) |
Fonction membre Documentation
[explicit] Q3DScatterWidgetItem::Q3DScatterWidgetItem(QObject *parent = nullptr)
Construit un nouveau graphique de dispersion 3D avec l'option parent.
[override virtual noexcept] Q3DScatterWidgetItem::~Q3DScatterWidgetItem()
Détruit le graphique de dispersion 3D.
void Q3DScatterWidgetItem::addAxis(QValue3DAxis *axis)
Ajoute axis au graphique. Les axes ajoutés via addAxis ne sont pas encore utilisés, addAxis est simplement utilisé pour donner la propriété de axis au graphique. L'adresse axis ne doit pas être nulle ou ajoutée à un autre graphique.
Voir aussi releaseAxis(), setAxisX(), setAxisY() et setAxisZ().
void Q3DScatterWidgetItem::addSeries(QScatter3DSeries *series)
Ajoute le site series au graphique. Un graphique peut contenir plusieurs séries, mais n'a qu'un seul ensemble d'axes. Si la série nouvellement ajoutée a spécifié un élément sélectionné, elle sera mise en évidence et toute sélection existante sera effacée. Une seule série ajoutée peut avoir une sélection active.
Voir également Q3DGraphsWidgetItem::hasSeries().
QList<QValue3DAxis *> Q3DScatterWidgetItem::axes() const
Renvoie la liste de tous les axes ajoutés.
Voir aussi addAxis().
void Q3DScatterWidgetItem::releaseAxis(QValue3DAxis *axis)
Renvoie la propriété du site axis à l'appelant, s'il est ajouté à ce graphique. Si l'adresse axis libérée est utilisée, un nouvel axe par défaut sera créé et activé.
Si l'axe par défaut est libéré et ajouté plus tard, il se comporte comme n'importe quel autre axe.
Voir également addAxis(), setAxisX(), setAxisY() et setAxisZ().
void Q3DScatterWidgetItem::removeSeries(QScatter3DSeries *series)
Supprime le site series du graphique.
Voir aussi Q3DGraphsWidgetItem::hasSeries().
QList<QScatter3DSeries *> Q3DScatterWidgetItem::seriesList() const
Renvoie la liste des séries ajoutées à ce graphique.
Voir également Q3DGraphsWidgetItem::hasSeries().
© 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.