En esta página

Q3DScene Class

La clase Q3DScene proporciona una descripción de la escena 3D que se está visualizando. Más...

Cabecera: #include <Q3DScene>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Desde: QtDataVisualization 1.0
En QML: Scene3D
Hereda: QObject

Propiedades

Funciones públicas

Q3DScene(QObject *parent = nullptr)
virtual ~Q3DScene()
Q3DCamera *activeCamera() const
Q3DLight *activeLight() const
float devicePixelRatio() const
QPoint graphPositionQuery() const
bool isPointInPrimarySubView(const QPoint &point)
bool isPointInSecondarySubView(const QPoint &point)
bool isSecondarySubviewOnTop() const
bool isSlicingActive() const
QRect primarySubViewport() const
QRect secondarySubViewport() const
QPoint selectionQueryPosition() const
void setActiveCamera(Q3DCamera *camera)
void setActiveLight(Q3DLight *light)
void setDevicePixelRatio(float pixelRatio)
void setGraphPositionQuery(const QPoint &point)
void setPrimarySubViewport(const QRect &primarySubViewport)
void setSecondarySubViewport(const QRect &secondarySubViewport)
void setSecondarySubviewOnTop(bool isSecondaryOnTop)
void setSelectionQueryPosition(const QPoint &point)
void setSlicingActive(bool isSlicing)
QRect viewport() const

Señales

void activeCameraChanged(Q3DCamera *camera)
void activeLightChanged(Q3DLight *light)
void devicePixelRatioChanged(float pixelRatio)
void graphPositionQueryChanged(const QPoint &position)
void primarySubViewportChanged(const QRect &subViewport)
void secondarySubViewportChanged(const QRect &subViewport)
void secondarySubviewOnTopChanged(bool isSecondaryOnTop)
void selectionQueryPositionChanged(const QPoint &position)
void slicingActiveChanged(bool isSlicingActive)
void viewportChanged(const QRect &viewport)

Miembros públicos estáticos

Descripción detallada

La escena 3D contiene una única cámara activa y una única fuente de luz activa. Se supone que los datos visualizados se encuentran en una ubicación fija.

La escena 3D también realiza un seguimiento de la ventana en la que se realiza el renderizado de la visualización, la ventana secundaria primaria dentro de la ventana en la que se encuentra la vista principal de visualización de los datos 3D y la ventana secundaria en la que se encuentra la vista en 2D de los datos. Las subpantallas se redimensionan por defecto mediante la señal Q3DScene. Para anular el comportamiento de redimensionado es necesario escuchar las señales viewportChanged() y slicingActiveChanged() y recalcular las subpantallas en consecuencia.

Además, la escena tiene un indicador para saber si la vista de corte 2D secundaria está activa o no.

Nota: No todas las visualizaciones soportan la vista de corte 2D secundaria.

Documentación de propiedades

activeCamera : Q3DCamera*

Esta propiedad contiene la cámara actualmente activa en la escena 3D.

Cuando se establece un nuevo objeto Q3DCamera, se añade automáticamente como hijo de la escena.

Funciones de acceso:

Q3DCamera *activeCamera() const
void setActiveCamera(Q3DCamera *camera)

Señal del notificador:

void activeCameraChanged(Q3DCamera *camera)

activeLight : Q3DLight*

Esta propiedad contiene la luz actualmente activa en la escena 3D.

Cuando se establece un nuevo objeto Q3DLight, se añade automáticamente como hijo de la escena.

Funciones de acceso:

Q3DLight *activeLight() const
void setActiveLight(Q3DLight *light)

Señal notificadora:

void activeLightChanged(Q3DLight *light)

devicePixelRatio : float

Esta propiedad contiene la relación de píxeles del dispositivo que se utiliza al mapear las coordenadas de entrada a coordenadas de píxeles.

Funciones de acceso:

float devicePixelRatio() const
void setDevicePixelRatio(float pixelRatio)

Señal del notificador:

void devicePixelRatioChanged(float pixelRatio)

graphPositionQuery : QPoint

Esta propiedad contiene las coordenadas de la entrada del usuario que deben ser procesadas por la escena como una consulta de posición del gráfico.

Si esta propiedad tiene un valor distinto de invalidSelectionPoint(), el gráfico intenta hacer coincidir una posición del gráfico con las coordenadas especificadas dentro de la ventana gráfica primaria. Después del pase de renderizado, esta propiedad vuelve a su estado por defecto de invalidSelectionPoint(). La posición del gráfico consultada puede leerse en la propiedad QAbstract3DGraph::queriedGraphPosition tras el siguiente pase de renderizado.

No existe una única coordenada 3D correcta que coincida con una posición de pantalla concreta, por lo que, para ser coherentes, las consultas se realizan siempre contra los lados interiores de una caja invisible que rodea el gráfico.

Nota: Los gráficos de barras sólo permiten consultar la posición del gráfico a nivel del suelo del gráfico.

Funciones de acceso:

QPoint graphPositionQuery() const
void setGraphPositionQuery(const QPoint &point)

Señal del notificador:

void graphPositionQueryChanged(const QPoint &position)

Véase también QAbstract3DGraph::queriedGraphPosition.

primarySubViewport : QRect

Esta propiedad contiene el rectángulo de la subvista actual dentro de la ventana donde se encuentra la vista principal de la visualización de datos.

Si isSlicingActive() es false, la subvista primaria es igual a viewport(). Si isSlicingActive() es true y la subvista primaria no se ha establecido explícitamente, será la quinta parte de viewport().

Nota: Si se establece primarySubViewport más grande o fuera de la ventana gráfica, ésta se redimensionará en consecuencia.

Funciones de acceso:

QRect primarySubViewport() const
void setPrimarySubViewport(const QRect &primarySubViewport)

Señal de aviso:

void primarySubViewportChanged(const QRect &subViewport)

secondarySubViewport : QRect

Esta propiedad contiene el rectángulo de la ventana secundaria dentro de la ventana.

La ventana secundaria se utiliza para dibujar la vista 2D en algunas visualizaciones. Si no se ha establecido explícitamente, será igual a QRect. Si isSlicingActive() es true, será igual a viewport.

Nota: Si la ventana secundaria es mayor o está fuera de la ventana gráfica, ésta se redimensionará en consecuencia.

Funciones de acceso:

QRect secondarySubViewport() const
void setSecondarySubViewport(const QRect &secondarySubViewport)

Señal del notificador:

void secondarySubViewportChanged(const QRect &subViewport)

secondarySubviewOnTop : bool

Esta propiedad indica si se dibuja encima la vista de corte 2D o la vista 3D.

Funciones de acceso:

bool isSecondarySubviewOnTop() const
void setSecondarySubviewOnTop(bool isSecondaryOnTop)

Señal del notificador:

void secondarySubviewOnTopChanged(bool isSecondaryOnTop)

selectionQueryPosition : QPoint

Esta propiedad contiene las coordenadas de la entrada del usuario que debe ser procesada por la escena como una selección.

Si esta propiedad tiene un valor distinto de invalidSelectionPoint(), el gráfico intenta seleccionar un elemento de datos, una etiqueta de eje o un elemento personalizado en las coordenadas especificadas dentro de la ventana gráfica primaria. Tras el pase de renderizado, la propiedad vuelve a su estado por defecto de invalidSelectionPoint().

Funciones de acceso:

QPoint selectionQueryPosition() const
void setSelectionQueryPosition(const QPoint &point)

Señal del notificador:

void selectionQueryPositionChanged(const QPoint &position)

Véase también QAbstract3DGraph::selectedElement.

slicingActive : bool

Esta propiedad indica si la vista de corte 2D está actualmente activa.

Si true, QAbstract3DGraph::selectionMode debe tener QAbstract3DGraph::SelectionRow o QAbstract3DGraph::SelectionColumn en una selección válida.

Nota: No todas las visualizaciones soportan la vista 2D.

Funciones de acceso:

bool isSlicingActive() const
void setSlicingActive(bool isSlicing)

Señal del notificador:

void slicingActiveChanged(bool isSlicingActive)

[read-only] viewport : QRect

Esta propiedad contiene una propiedad de sólo lectura que contiene el rectángulo de la vista actual donde se dirige todo el renderizado 3D.

Funciones de acceso:

QRect viewport() const

Señal notificadora:

void viewportChanged(const QRect &viewport)

Documentación de la función miembro

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

Construye una escena básica con una luz y una cámara. Se puede dar un parámetro opcional parent que se pasa al constructor QObject.

[virtual noexcept] Q3DScene::~Q3DScene()

Destruye la escena 3D y todos los objetos que contiene.

[static] QPoint Q3DScene::invalidSelectionPoint()

Devuelve un QPoint que significa una posición de selección no válida.

bool Q3DScene::isPointInPrimarySubView(const QPoint &point)

Devuelve si el point dado se encuentra dentro de la subvista primaria o no. Devuelve true si el punto está dentro de la subvista primaria.

Nota: Si las subvistas están superpuestas y el punto point está dentro de ambas, el resultado es true sólo si la subvista primaria está encima.

bool Q3DScene::isPointInSecondarySubView(const QPoint &point)

Devuelve si el point dado se encuentra dentro de la subvista secundaria o no. Devuelve true si el punto está dentro de la subvista secundaria.

Nota: Si las subvistas están superpuestas y el punto point está dentro de ambas, el resultado es true sólo si la subvista secundaria está encima.

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