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 Graphs)target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| En QML: | Scene3D |
| Hereda: | QObject |
- Lista de todos los miembros, incluyendo los heredados
- Q3DScene es parte de Qt Graphs C++ Classes for 3D.
Propiedades
|
|
Funciones públicas
| Q3DScene(QObject *parent = nullptr) | |
| virtual | ~Q3DScene() override |
| qreal | devicePixelRatio() const |
| QPoint | graphPositionQuery() const |
| QPoint | invalidSelectionPoint() const |
| bool | isPointInPrimarySubView(QPoint point) |
| bool | isPointInSecondarySubView(QPoint point) |
| bool | isSecondarySubviewOnTop() const |
| bool | isSlicingActive() const |
| QRect | primarySubViewport() const |
| QRect | secondarySubViewport() const |
| QPoint | selectionQueryPosition() const |
| void | setDevicePixelRatio(qreal pixelRatio) |
| void | setGraphPositionQuery(QPoint point) |
| void | setPrimarySubViewport(QRect primarySubViewport) |
| void | setSecondarySubViewport(QRect secondarySubViewport) |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
| void | setSelectionQueryPosition(QPoint point) |
| void | setSlicingActive(bool isSlicing) |
| QRect | viewport() const |
Señales
| void | devicePixelRatioChanged(qreal pixelRatio) |
| void | graphPositionQueryChanged(QPoint position) |
| void | primarySubViewportChanged(QRect subViewport) |
| void | secondarySubViewportChanged(QRect subViewport) |
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
| void | selectionQueryPositionChanged(QPoint position) |
| void | slicingActiveChanged(bool isSlicingActive) |
| void | viewportChanged(QRect viewport) |
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 gráfica en la que se realiza el renderizado del gráfico, la ventana secundaria primaria dentro de la ventana gráfica donde se encuentra la vista principal del gráfico 3D y la ventana secundaria donde se encuentra la vista en 2D de los datos. Los subviewports son por defecto redimensionados por el Q3DScene. Para anular el comportamiento del redimensionamiento necesitas escuchar ambas señales viewportChanged() y slicingActiveChanged() y recalcular los subviewports en consecuencia.
Además, la escena tiene un indicador para saber si la vista de corte 2D secundaria está activa o no.
Nota: No todos los gráficos soportan la vista de corte 2D secundaria.
Documentación de propiedades
devicePixelRatio : qreal
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:
| qreal | devicePixelRatio() const |
| void | setDevicePixelRatio(qreal pixelRatio) |
Señal del notificador:
| void | devicePixelRatioChanged(qreal 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 Q3DGraphsWidgetItem::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(QPoint point) |
Señal del notificador:
| void | graphPositionQueryChanged(QPoint position) |
Véase también Q3DGraphsWidgetItem::queriedGraphPosition.
[read-only] invalidSelectionPoint : const QPoint
Esta propiedad contiene un punto que representa una posición de selección no válida.
Funciones de acceso:
| QPoint | invalidSelectionPoint() const |
primarySubViewport : QRect
Esta propiedad contiene el rectángulo de la subvista actual dentro de la vista a la que se dirige la vista primaria de los gráficos.
Si la subvista primaria no se ha establecido explícitamente, será una quinta parte de viewport().
Nota: Establecer primarySubViewport más grande o fuera de la ventana redimensiona la ventana en consecuencia.
Funciones de acceso:
| QRect | primarySubViewport() const |
| void | setPrimarySubViewport(QRect primarySubViewport) |
Señal de aviso:
| void | primarySubViewportChanged(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 algunos gráficos. Si no se ha establecido explícitamente, será igual al tamaño de la ventana gráfica.
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(QRect secondarySubViewport) |
Señal de notificación:
| void | secondarySubViewportChanged(QRect subViewport) |
secondarySubviewOnTop : bool
Esta propiedad determina 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(QPoint point) |
Señal del notificador:
| void | selectionQueryPositionChanged(QPoint position) |
Véase también Q3DGraphsWidgetItem::selectedElement.
slicingActive : bool
Esta propiedad indica si la vista de corte 2D está actualmente activa.
Si true, Q3DGraphsWidgetItem::selectionMode debe tener QtGraphs3D::SelectionFlag::Row o QtGraphs3D::SelectionFlag::Column en una selección válida.
Nota: No todos los gráficos 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(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.
[override virtual noexcept] Q3DScene::~Q3DScene()
Destruye la escena 3D y todos los objetos que contiene.
QPoint Q3DScene::invalidSelectionPoint() const
Devuelve un QPoint que significa una posición de selección inválida.
Nota: Función Getter para la propiedad invalidSelectionPoint.
bool Q3DScene::isPointInPrimarySubView(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(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.