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 |
- Lista de todos los miembros, incluyendo los heredados
- QSurface3DSeries es parte de Qt Graphs C++ Classes for 3D.
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
| QPoint | invalidSelectionPosition() |
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():
| @xTitulo | Título del eje x |
| @yTitulo | Título del eje y |
| @zTítulo | Título del eje z |
| @etiquetax | Valor del elemento formateado utilizando el formato del eje x. Para obtener más información, consulte QValue3DAxis::labelFormat. |
| @yEtiqueta | Valor del elemento formateado utilizando el formato del eje y. Para más información, consulte QValue3DAxis::labelFormat. |
| @zEtiqueta | Valor del elemento formateado utilizando el formato del eje z. Para más información, consulte QValue3DAxis::labelFormat. |
| @nombreSerie | Nombre 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.
| Constante | Valor | Descripción |
|---|---|---|
QSurface3DSeries::DrawWireframe | 0x1 | Sólo se dibuja la rejilla. |
QSurface3DSeries::DrawSurface | 0x2 | Sólo se dibuja la superficie. |
QSurface3DSeries::DrawSurfaceAndWireframe | DrawWireframe | DrawSurface | Se dibujan tanto la superficie como la rejilla. |
QSurface3DSeries::DrawFilledSurface (since Qt 6.10) | 0x4 | Dibuja 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.