En esta página

QSurface3DSeries Class

La clase QSurface3DSeries representa una serie de datos en un gráfico de superficie 3D. Más...

Cabecera: #include <QSurface3DSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
En QML: Surface3DSeries
Hereda: QAbstract3DSeries

Tipos Públicos

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

Propiedades

Funciones públicas

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

Señales

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)

Miembros públicos estáticos

Descripción detallada

Esta clase gestiona los elementos visuales específicos de las series, así como los datos de las series (a través de un proxy de datos).

En cuanto a la relación proxy-serie, es crucial destacar un par de puntos clave. En este contexto, los datos se almacenan en series y los usuarios pueden acceder al conjunto de datos a través de la serie. Esta serie está controlada o representada por un objeto proxy. Así, el proxy puede utilizarse para gestionar diversas operaciones sobre los datos y actualizar el conjunto de datos real. Sin embargo, es necesario crear una serie asociada a este proxy para editar el conjunto de datos.

Si no se establece explícitamente ningún proxy de datos para la serie, ésta crea un proxy por defecto. Si se establece otro proxy, se destruirá el proxy existente y todos los datos añadidos a la serie.

La malla del objeto establecida a través de la propiedad QAbstract3DSeries::mesh define la forma del puntero de selección en una serie de superficie.

QSurface3DSeries soporta las siguientes etiquetas de formato para QAbstract3DSeries::setItemLabelFormat():

@xTituloTítulo del eje x
@yTituloTítulo del eje y
@zTítuloTítulo del eje z
@etiquetaxValor del elemento formateado utilizando el formato del eje x. Para obtener más información, consulte QValue3DAxis::labelFormat.
@yEtiquetaValor del elemento formateado utilizando el formato del eje y. Para más información, consulte QValue3DAxis::labelFormat.
@zEtiquetaValor del elemento formateado utilizando el formato del eje z. Para más información, consulte QValue3DAxis::labelFormat.
@nombreSerieNombre de la serie

Por ejemplo:

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

Véase también Qt Graphs Manejo de datos con 3D.

Documentación de Tipos de Miembros

enum QSurface3DSeries::DrawFlag
flags QSurface3DSeries::DrawFlags

El modo de dibujo de la superficie. Los valores de esta enumeración pueden combinarse con el operador OR.

ConstanteValorDescripción
QSurface3DSeries::DrawWireframe0x1Sólo se dibuja la rejilla.
QSurface3DSeries::DrawSurface0x2Sólo se dibuja la superficie.
QSurface3DSeries::DrawSurfaceAndWireframeDrawWireframe | DrawSurfaceSe dibujan tanto la superficie como la rejilla.
QSurface3DSeries::DrawFilledSurface (since Qt 6.10)0x4Dibuja un relleno para una superficie. Al establecer este modo también se establece DrawSurface si no está ya establecido.

El tipo DrawFlags es un typedef para QFlags<DrawFlag>. Almacena una combinación OR de valores DrawFlag.

Documentación de Propiedades

[since 6.11] axisX : QValue3DAxis*

Mantiene un eje X adicional para la serie Si se da un eje, la serie se ajustará a los valores mínimo y máximo del eje.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

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

Señal del notificador:

void axisXChanged(QValue3DAxis *axis)

[since 6.11] axisY : QValue3DAxis*

Mantiene un eje Y adicional para la serie Si se da un eje, la serie se ajustará a los valores mínimo y máximo del eje.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

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

Señal del notificador:

void axisYChanged(QValue3DAxis *axis)

[since 6.11] axisZ : QValue3DAxis*

Mantiene un eje Z adicional para la serie Si se da un eje, la serie se ajustará a los valores mínimo y máximo del eje.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

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

Señal del notificador:

void axisZChanged(QValue3DAxis *axis)

dataArray : QSurfaceDataArray

Matriz de datos para la serie.

Contiene la referencia de la matriz de datos.

La señal dataArrayChanged se emite cuando se establece la matriz de datos, a menos que newDataArray sea idéntica a la anterior.

Nota: Antes de hacer nada con respecto al dataArray, debe crearse una serie para el proxy correspondiente.

Funciones de acceso:

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

Señal de notificador:

void dataArrayChanged(const QSurfaceDataArray &array)

Véase también clearRow(qsizetype rowIndex) y clearArray().

dataProxy : QSurfaceDataProxy*

Esta propiedad contiene el proxy de datos activo.

La serie asume la propiedad de cualquier proxy que se le asigne y elimina cualquier proxy previamente asignado cuando se añade uno nuevo. El proxy no puede ser nulo ni estar asignado a otra serie.

Funciones de acceso:

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

Señal del notificador:

void dataProxyChanged(QSurfaceDataProxy *proxy)

drawMode : QSurface3DSeries::DrawFlags

El modo de dibujo.

Los valores posibles son los de DrawFlag. No se permite borrar todas las banderas.

Funciones de acceso:

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

Señal del notificador:

void drawModeChanged(QSurface3DSeries::DrawFlags mode)

[read-only] flatShadingSupported : bool

Esta propiedad indica si el sombreado plano de superficies está soportado por el sistema actual.

El sombreado plano de superficies requiere al menos la versión 1.2 de GLSL con la extensión GL_EXT_gpu_shader4. Si true, el sombreado plano de superficies está soportado.

Nota: Esta propiedad de sólo lectura se establece a su valor correcto después del primer pase de render. Hasta entonces es siempre true.

Funciones de acceso:

bool isFlatShadingSupported() const

Señal notificadora:

void flatShadingSupportedChanged(bool enabled)

rowsSanitized : bool

Esta propiedad indica si se realiza la limpieza de filas.

Cuando sanitized es true, elimina las filas de la serie que no contienen datos válidos.

Nota: Esto puede suponer una pequeña penalización en el rendimiento.

Funciones de acceso:

bool rowsSanitized() const
void setRowsSanitized(bool sanitized)

Señal de notificador:

void rowsSanitizedChanged(bool newRowsSanitized)

selectedPoint : QPoint

Esta propiedad contiene el punto de rejilla de superficie que se selecciona en la serie.

Selecciona un punto de cuadrícula de superficie en la posición position en la matriz de datos de la serie especificada por una fila y una columna.

Sólo se puede seleccionar un punto a la vez.

Para borrar la selección de esta serie, invalidSelectionPosition() se establece como position. Si se añade esta serie a un gráfico, éste puede ajustar la selección en función de la interacción del usuario o si deja de ser válida.

Si se eliminan filas de la serie o se insertan filas en ella antes de la fila del punto seleccionado, la selección se ajustará de modo que el mismo punto permanecerá seleccionado.

Funciones de acceso:

QPoint selectedPoint() const
void setSelectedPoint(QPoint position)

Señal del notificador:

void selectedPointChanged(QPoint position)

Véase también Q3DGraphsWidgetItem::clearSelection().

shading : QSurface3DSeries::Shading

Esta propiedad indica si el sombreado plano de superficie está activado.

Por defecto es QSurface3DSeries::Shading::Flat.

Cuando está desactivada, las normales de la superficie se interpolan haciendo que los bordes parezcan redondos. Cuando está visible, las normales se mantienen iguales en un triángulo haciendo que el color del triángulo sea sólido. Esto hace que los datos sean más legibles desde el modelo.

Nota: Las superficies sombreadas planas requieren al menos la versión 1.2 de GLSL con la extensión GL_EXT_gpu_shader4. El valor de la propiedad flatShadingSupported indica si el sombreado plano está soportado en tiempo de ejecución.

Funciones de acceso:

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

Señal notificadora:

void shadingChanged(const QSurface3DSeries::Shading shading)

texture : QImage

Esta propiedad contiene la textura de la superficie como QImage.

Establecer un QImage vacío borra la textura.

Funciones de acceso:

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

Señal notificadora:

void textureChanged(const QImage &image)

textureFile : QString

Esta propiedad contiene la textura de la superficie como un archivo.

Establecer un nombre de archivo vacío borra la textura.

Funciones de acceso:

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

Señal de notificación:

void textureFileChanged(const QString &filename)

wireframeColor : QColor

Esta propiedad contiene el color para el alambre de la superficie.

Funciones de acceso:

QColor wireframeColor() const
void setWireframeColor(QColor color)

Señal del notificador:

void wireframeColorChanged(QColor color)

Documentación de la función miembro

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

Construye una serie 3D de superficie con el padre parent.

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

Construye una serie 3D de superficie con el proxy de datos dataProxy y el padre parent.

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

Borra la serie 3D de superficie.

void QSurface3DSeries::clearArray()

Borra el array existente.

void QSurface3DSeries::clearRow(qsizetype rowIndex)

Borra la fila existente en el array de acuerdo con la dirección rowIndex.

[static] QPoint QSurface3DSeries::invalidSelectionPosition()

Devuelve el QPoint que significa una posición de selección inválida. Se establece en la propiedad selectedPoint para borrar la selección de esta serie.

Véase también 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.