Sur cette page

QSurface3DSeries Class

La classe QSurface3DSeries représente une série de données dans un graphique de surface en 3D. En savoir plus...

En-tête : #include <QSurface3DSeries>
CMake : find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake : QT += graphs
En QML : Surface3DSeries
Hérite de : QAbstract3DSeries

Types publics

enum DrawFlag { DrawWireframe, DrawSurface, DrawSurfaceAndWireframe, DrawFilledSurface }
flags DrawFlags

Propriétés

Fonctions publiques

QSurface3DSeries(QObject *parent = nullptr)
QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = nullptr)
virtual ~QSurface3DSeries() override
QValue3DAxis *axisX() const
QValue3DAxis *axisY() const
QValue3DAxis *axisZ() const
void clearArray()
void clearRow(qsizetype rowIndex)
const QSurfaceDataArray &dataArray() const &
QSurfaceDataArray dataArray() &&
QSurfaceDataProxy *dataProxy() const
QSurface3DSeries::DrawFlags drawMode() const
bool isFlatShadingSupported() const
void resetAxisX()
void resetAxisY()
void resetAxisZ()
bool rowsSanitized() const
QPoint selectedPoint() const
void setAxisX(QValue3DAxis *axis)
void setAxisY(QValue3DAxis *axis)
void setAxisZ(QValue3DAxis *axis)
void setDataArray(const QSurfaceDataArray &newDataArray)
void setDataProxy(QSurfaceDataProxy *proxy)
void setDrawMode(QSurface3DSeries::DrawFlags mode)
void setRowsSanitized(bool sanitized)
void setSelectedPoint(QPoint position)
void setShading(const QSurface3DSeries::Shading shading)
void setTexture(const QImage &texture)
void setTextureFile(const QString &filename)
void setWireframeColor(QColor color)
QSurface3DSeries::Shading shading() const
QImage texture() const
QString textureFile() const
QColor wireframeColor() const

Signaux

void axisXChanged(QValue3DAxis *axis)
void axisYChanged(QValue3DAxis *axis)
void axisZChanged(QValue3DAxis *axis)
void dataArrayChanged(const QSurfaceDataArray &array)
void dataProxyChanged(QSurfaceDataProxy *proxy)
void drawModeChanged(QSurface3DSeries::DrawFlags mode)
void flatShadingSupportedChanged(bool enabled)
void rowsSanitizedChanged(bool newRowsSanitized)
void selectedPointChanged(QPoint position)
void shadingChanged(const QSurface3DSeries::Shading shading)
void textureChanged(const QImage &image)
void textureFileChanged(const QString &filename)
void wireframeColorChanged(QColor color)

Membres publics statiques

Description détaillée

Cette classe gère les éléments visuels spécifiques à la série, ainsi que les données de la série (via un proxy de données).

En ce qui concerne la relation entre le proxy et la série, il est essentiel de souligner quelques points clés. Dans ce contexte, les données sont stockées dans des séries et les utilisateurs peuvent accéder à l'ensemble de données via ces séries. Ces séries sont contrôlées ou représentées par un objet proxy. Ainsi, le proxy peut être utilisé pour gérer diverses opérations sur les données et mettre à jour l'ensemble de données réel. Cependant, il est nécessaire de créer une série associée à ce proxy pour modifier l'ensemble de données.

Si aucun proxy de données n’est explicitement défini pour la série, celle-ci crée un proxy par défaut. La définition d’un autre proxy détruira le proxy existant ainsi que toutes les données ajoutées à la série.

Le maillage d’objet défini via la propriété QAbstract3DSeries::mesh définit la forme du pointeur de sélection dans une série de surface.

QSurface3DSeries prend en charge les balises de format suivantes pour QAbstract3DSeries::setItemLabelFormat():

@xTitleTitre de l'axe x
@yTitleTitre de l'axe y
@zTitleTitre de l'axe z
@xLabelValeur de l'élément mise en forme selon le format de l'axe x. Pour plus d'informations, consultez QValue3DAxis::labelFormat.
@yLabelValeur de l'élément mise en forme selon le format de l'axe y. Pour plus d'informations, consultez QValue3DAxis::labelFormat.
@zLabelValeur de l'élément mise en forme selon le format de l'axe z. Pour plus d'informations, consultez QValue3DAxis::labelFormat.
@seriesNameNom de la série

Par exemple :

proxy->setItemLabelFormat(QStringLiteral("@valueTitle for (@rowLabel, @colLabel): %.1f"));

Voir également Qt Graphs Traitement des données en 3D.

Documentation sur les types de membres

enum QSurface3DSeries::DrawFlag
flags QSurface3DSeries::DrawFlags

Le mode d'affichage de la surface. Les valeurs de cette énumération peuvent être combinées à l'aide de l'opérateur OU.

ConstanteValeurDescription
QSurface3DSeries::DrawWireframe0x1Seule la grille est dessinée.
QSurface3DSeries::DrawSurface0x2Seule la surface est dessinée.
QSurface3DSeries::DrawSurfaceAndWireframeDrawWireframe | DrawSurfaceLa surface et la grille sont toutes deux dessinées.
QSurface3DSeries::DrawFilledSurface (since Qt 6.10)0x4Dessine un remplissage pour une surface. L'activation de ce mode active également DrawSurface si celui-ci n'est pas déjà activé.

Le type DrawFlags est un typedef pour QFlags<DrawFlag>. Il stocke une combinaison OR de valeurs DrawFlag.

Documentation des propriétés

[since 6.11] axisX : QValue3DAxis*

Prend en charge un axe X supplémentaire pour la série. Si un axe est spécifié, la série sera ajustée aux valeurs minimale et maximale de cet axe.

Cette énumération a été introduite dans Qt 6.11.

Fonctions d'accès :

QValue3DAxis *axisX() const
void setAxisX(QValue3DAxis *axis)
void resetAxisX()

Signal de notification :

void axisXChanged(QValue3DAxis *axis)

[since 6.11] axisY : QValue3DAxis*

Définit un axe Y supplémentaire pour la série. Si un axe est spécifié, la série sera ajustée aux valeurs minimale et maximale de cet axe.

Cette énumération a été introduite dans Qt 6.11.

Fonctions d'accès :

QValue3DAxis *axisY() const
void setAxisY(QValue3DAxis *axis)
void resetAxisY()

Signal de notification :

void axisYChanged(QValue3DAxis *axis)

[since 6.11] axisZ : QValue3DAxis*

Prend en charge un axe Z supplémentaire pour la série. Si un axe est spécifié, la série sera ajustée aux valeurs minimale et maximale de cet axe.

Cette énumération a été introduite dans Qt 6.11.

Fonctions d'accès :

QValue3DAxis *axisZ() const
void setAxisZ(QValue3DAxis *axis)
void resetAxisZ()

Signal de notification :

void axisZChanged(QValue3DAxis *axis)

dataArray : QSurfaceDataArray

Tableau de données pour la série.

Contient la référence du tableau de données.

Le signal `dataArrayChanged` est émis lorsque le tableau de données est défini, sauf si ` newDataArray ` est identique au précédent.

Remarque : avant toute opération sur dataArray, une série doit être créée pour le proxy concerné.

Fonctions d'accès :

const QSurfaceDataArray &dataArray() const &
QSurfaceDataArray dataArray() &&
void setDataArray(const QSurfaceDataArray &newDataArray)

Signal de notification :

void dataArrayChanged(const QSurfaceDataArray &array)

Voir également ` clearRow(qsizetype rowIndex)` et ` clearArray()`.

dataProxy : QSurfaceDataProxy*

Cette propriété contient le proxy de données actif.

La série prend possession de tout proxy qui lui est attribué et supprime tout proxy précédemment défini lorsqu'un nouveau proxy est ajouté. Le proxy ne peut pas être nul ni attribué à une autre série.

Fonctions d'accès :

QSurfaceDataProxy *dataProxy() const
void setDataProxy(QSurfaceDataProxy *proxy)

Signal de notification :

void dataProxyChanged(QSurfaceDataProxy *proxy)

drawMode : QSurface3DSeries::DrawFlags

Le mode de dessin.

Les valeurs possibles sont celles de DrawFlag. Il n'est pas permis de désactiver tous les indicateurs.

Fonctions d'accès :

QSurface3DSeries::DrawFlags drawMode() const
void setDrawMode(QSurface3DSeries::DrawFlags mode)

Signal de notification :

void drawModeChanged(QSurface3DSeries::DrawFlags mode)

[read-only] flatShadingSupported : bool

Cette propriété indique si le système actuel prend en charge l'ombrage plat des surfaces.

L'ombrage plat des surfaces nécessite au moins la version 1.2 de GLSL avec l'extension GL_EXT_gpu_shader4. Si la valeur est « true », l'ombrage plat des surfaces est pris en charge.

Remarque : cette propriété en lecture seule prend sa valeur correcte après le premier passage de rendu. Jusqu’à ce moment-là, elle est toujours définie sur « true ».

Fonctions d'accès :

bool isFlatShadingSupported() const

Signal de notification :

void flatShadingSupportedChanged(bool enabled)

rowsSanitized : bool

Cette propriété détermine s'il faut procéder à l'assainissement des lignes.

Lorsque la valeur de « sanitized » est « true », les lignes de la série qui ne contiennent pas de données valides sont supprimées.

Remarque : cela peut entraîner une légère perte de performances.

Fonctions d'accès :

bool rowsSanitized() const
void setRowsSanitized(bool sanitized)

Signal de notification :

void rowsSanitizedChanged(bool newRowsSanitized)

selectedPoint : QPoint

Cette propriété contient le point de la grille de surface sélectionné dans la série.

Sélectionne un point de maillage de surface situé à la position position dans le tableau de données de la série spécifiée par une ligne et une colonne.

Un seul point peut être sélectionné à la fois.

Pour effacer la sélection de cette série, la fonction ` invalidSelectionPosition()` est définie sur ` position`. Si cette série est ajoutée à un graphique, celui-ci peut ajuster la sélection en fonction des interactions de l'utilisateur ou si celle-ci devient invalide.

La suppression ou l’insertion de lignes dans la série avant la ligne du point sélectionné ajustera la sélection de manière à ce que ce même point reste sélectionné.

Fonctions d'accès :

QPoint selectedPoint() const
void setSelectedPoint(QPoint position)

Signal de notification :

void selectedPointChanged(QPoint position)

Voir également Q3DGraphsWidgetItem::clearSelection().

shading : QSurface3DSeries::Shading

Cette propriété indique si l'ombrage plat des surfaces est activé.

La valeur par défaut est « QSurface3DSeries::Shading::Flat ».

Lorsqu’elle est désactivée, les normales de la surface sont interpolées, ce qui donne un aspect arrondi aux arêtes. Lorsqu’elle est activée, les normales restent identiques sur un triangle, ce qui rend la couleur du triangle uniforme. Cela rend les données du modèle plus lisibles.

Remarque : les surfaces à ombrageplat nécessitent au moins la version 1.2 de GLSL avec l’extension GL_EXT_gpu_shader4. La valeur de la propriété « flatShadingSupported » indique si l’ombrage plat est pris en charge lors de l’exécution.

Fonctions d’accès :

QSurface3DSeries::Shading shading() const
void setShading(const QSurface3DSeries::Shading shading)

Signal de notification :

void shadingChanged(const QSurface3DSeries::Shading shading)

texture : QImage

Cette propriété stocke la texture de la surface sous la forme d'un objet de type ` QImage`.

Définir une valeur vide pour « QImage » efface la texture.

Fonctions d'accès :

QImage texture() const
void setTexture(const QImage &texture)

Signal de notification :

void textureChanged(const QImage &image)

textureFile : QString

Cette propriété stocke la texture de la surface sous forme de fichier.

Si vous indiquez un nom de fichier vide, la texture est effacée.

Fonctions d'accès :

QString textureFile() const
void setTextureFile(const QString &filename)

Signal de notification :

void textureFileChanged(const QString &filename)

wireframeColor : QColor

Cette propriété définit la couleur du filaire de la surface.

Fonctions d'accès :

QColor wireframeColor() const
void setWireframeColor(QColor color)

Signal de notification :

void wireframeColorChanged(QColor color)

Documentation des fonctions membres

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

Crée une série de surfaces 3D à partir de l'élément parent « parent ».

[explicit] QSurface3DSeries::QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = nullptr)

Crée une série de surfaces 3D à partir du proxy de données dataProxy et de la série parente parent.

[override virtual noexcept] QSurface3DSeries::~QSurface3DSeries()

Supprime la série de surfaces 3D.

void QSurface3DSeries::clearArray()

Efface le tableau existant.

void QSurface3DSeries::clearRow(qsizetype rowIndex)

Efface la ligne existante du tableau selon l'rowIndex ion fournie.

[static] QPoint QSurface3DSeries::invalidSelectionPosition()

Renvoie l'QPoint, qui indique une position de sélection non valide. Cette valeur est attribuée à la propriété selectedPoint afin d'effacer la sélection de cette série.

Voir également Q3DGraphsWidgetItem::clearSelection().

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