Sur cette page

QSurface3DSeries Class

La classe QSurface3DSeries représente une série de données dans un graphique de surface 3D. Plus d'informations...

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éritages : 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 proxy-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 par l'intermédiaire de la série. Cette série est contrôlée ou représentée 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 éditer le jeu de données.

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

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

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

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

Par exemple, le nom de la série :

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

Voir également Qt Graphs Data Handling with 3D.

Documentation sur les types de membres

enum QSurface3DSeries::DrawFlag
flags QSurface3DSeries::DrawFlags

Mode de dessin de la surface. Les valeurs de cette énumération peuvent être combinées avec l'opérateur OR.

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 s'il n'est pas déjà activé.

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

Documentation sur les propriétés

[since 6.11] axisX : QValue3DAxis*

Détient un axe X supplémentaire pour la série Si un axe est donné, la série sera ajustée aux valeurs minimales et maximales de l'axe.

Cette propriété a été introduite dans Qt 6.11.

Fonctions d'accès :

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

Notifier signal :

void axisXChanged(QValue3DAxis *axis)

[since 6.11] axisY : QValue3DAxis*

Détient un axe Y supplémentaire pour la série Si un axe est donné, la série sera ajustée aux valeurs minimales et maximales de l'axe.

Cette propriété a été introduite dans Qt 6.11.

Fonctions d'accès :

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

Notifier signal :

void axisYChanged(QValue3DAxis *axis)

[since 6.11] axisZ : QValue3DAxis*

Détient un axe Z supplémentaire pour la série Si un axe est donné, la série sera ajustée aux valeurs minimales et maximales de l'axe.

Cette propriété a été introduite dans Qt 6.11.

Fonctions d'accès :

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

Notifier signal :

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 modifié, sauf si newDataArray est identique au précédent.

Remarque : avant de faire quoi que ce soit concernant le tableau de données, 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 Notifier :

void dataArrayChanged(const QSurfaceDataArray &array)

Voir aussi clearRow(qsizetype rowIndex) et clearArray().

dataProxy : QSurfaceDataProxy*

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

La série assume la propriété de tout proxy qui lui est associé et supprime tout proxy précédemment défini lorsqu'un nouveau proxy est ajouté. Le proxy ne peut pas être nul ou associé à 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. L'effacement de tous les drapeaux n'est pas autorisé.

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 l'ombrage plat des surfaces est pris en charge par le système actuel.

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

Remarque : cette propriété en lecture seule prend sa valeur correcte après la première passe de rendu. Jusque-là, la valeur est toujours true.

Fonctions d'accès :

bool isFlatShadingSupported() const

Notifier signal :

void flatShadingSupportedChanged(bool enabled)

rowsSanitized : bool

Cette propriété indique s'il faut effectuer un nettoyage des lignes.

Lorsque sanitized vaut 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 pénalité en termes de performances.

Fonctions d'accès :

bool rowsSanitized() const
void setRowsSanitized(bool sanitized)

Notifier signal :

void rowsSanitizedChanged(bool newRowsSanitized)

selectedPoint : QPoint

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

Sélectionne un point de grille de surface à 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, invalidSelectionPosition() est défini comme position. Si cette série est ajoutée à un graphique, celui-ci peut ajuster la sélection en fonction de l'interaction de l'utilisateur ou si elle 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 le 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 aussi Q3DGraphsWidgetItem::clearSelection().

shading : QSurface3DSeries::Shading

Cette propriété indique si l'ombrage plat de la surface 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 aux bords un aspect arrondi. Lorsqu'elle est visible, les normales sont conservées à l'identique sur un triangle, ce qui rend la couleur du triangle solide. Cela rend les données plus lisibles à partir du modèle.

Remarque : les surfaces ombrées plates 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 au moment 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é contient la texture de la surface sous forme de QImage.

La définition d'un QImage vide 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é contient la texture de la surface sous forme de fichier.

La définition d'un nom de fichier vide efface la texture.

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 de l'image filaire de la surface.

Fonctions d'accès :

QColor wireframeColor() const
void setWireframeColor(QColor color)

Signal Notificateur :

void wireframeColorChanged(QColor color)

Fonction membre Documentation

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

Construit une série 3D de surface avec le parent parent.

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

Construit une série 3D de surface avec le proxy de données dataProxy et le parent parent.

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

Supprime la série 3D de surface.

void QSurface3DSeries::clearArray()

Efface le tableau existant.

void QSurface3DSeries::clearRow(qsizetype rowIndex)

Efface la ligne existante dans le tableau en fonction de l'adresse rowIndex.

[static] QPoint QSurface3DSeries::invalidSelectionPosition()

Renvoie la valeur QPoint indiquant une position de sélection non valide. La propriété selectedPoint permet 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.