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
| QPoint | invalidSelectionPoint() |
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.