Q3DScene#

Q3DScene class provides description of the 3D scene being visualized. More

Inheritance diagram of PySide6.QtDataVisualization.Q3DScene

Synopsis#

Properties#

  • activeCamera - Currently active camera in the 3D scene

  • activeLight - Currently active light in the 3D scene

  • devicePixelRatio - Device pixel ratio that is used when mapping input coordinates to pixel coordinates

  • graphPositionQuery - Coordinates for the user input that should be processed by the scene as a graph position query

  • primarySubViewport - Current subviewport rectangle inside the viewport where the primary view of the data visualization is targeted

  • secondarySubViewport - Secondary viewport rectangle inside the viewport

  • secondarySubviewOnTop - Whether the 2D slicing view or the 3D view is drawn on top

  • selectionQueryPosition - Coordinates for the user input that should be processed by the scene as a selection

  • slicingActive - Whether the 2D slicing view is currently active

  • viewport - A read only property that contains the current viewport rectangle where all the 3D rendering is targeted

Functions#

Signals#

Static functions#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

The 3D scene contains a single active camera and a single active light source. Visualized data is assumed to be at a fixed location.

The 3D scene also keeps track of the viewport in which visualization rendering is done, the primary subviewport inside the viewport where the main 3D data visualization view resides and the secondary subviewport where the 2D sliced view of the data resides. The subviewports are by default resized by the Q3DScene. To override the resize behavior you need to listen to both viewportChanged() and slicingActiveChanged() signals and recalculate the subviewports accordingly.

Also the scene has flag for tracking if the secondary 2D slicing view is currently active or not.

Note

Not all visualizations support the secondary 2D slicing view.

class PySide6.QtDataVisualization.Q3DScene([parent=None])#
Parameters:

parentPySide6.QtCore.QObject

Constructs a basic scene with one light and one camera in it. An optional parent parameter can be given and is then passed to QObject constructor.

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property PᅟySide6.QtDataVisualization.Q3DScene.activeCamera: PySide6.QtDataVisualization.Q3DCamera#

This property holds The currently active camera in the 3D scene..

When a new Q3DCamera object is set, it is automatically added as child of the scene.

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.activeLight: PySide6.QtDataVisualization.Q3DLight#

This property holds The currently active light in the 3D scene..

When a new Q3DLight objects is set, it is automatically added as child of the scene.

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.devicePixelRatio: float#

This property holds The device pixel ratio that is used when mapping input coordinates to pixel coordinates..

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.graphPositionQuery: PySide6.QtCore.QPoint#

This property holds The coordinates for the user input that should be processed by the scene as a graph position query..

If this property is set to a value other than invalidSelectionPoint() , the graph tries to match a graph position to the specified coordinates within the primary viewport. After the rendering pass, this property is returned to its default state of invalidSelectionPoint() . The queried graph position can be read from the queriedGraphPosition property after the next render pass.

There is no single correct 3D coordinate to match a particular screen position, so to be consistent, the queries are always done against the inner sides of an invisible box surrounding the graph.

Note

Bar graphs allow graph position queries only at the graph floor level.

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.primarySubViewport: PySide6.QtCore.QRect#

This property holds The current subviewport rectangle inside the viewport where the primary view of the data visualization is targeted..

If isSlicingActive() is false, the primary sub viewport is equal to viewport() . If isSlicingActive() is true and the primary sub viewport has not been explicitly set, it will be one fifth of viewport() .

Note

Setting primarySubViewport larger than or outside of the viewport resizes the viewport accordingly.

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.secondarySubViewport: PySide6.QtCore.QRect#

This property holds The secondary viewport rectangle inside the viewport..

The secondary viewport is used for drawing the 2D slice view in some visualizations. If it has not been explicitly set, it will be equal to QRect . If isSlicingActive() is true, it will be equal to viewport .

Note

If the secondary sub viewport is larger than or outside of the viewport, the viewport is resized accordingly.

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.secondarySubviewOnTop: bool#

This property holds Whether the 2D slicing view or the 3D view is drawn on top..

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.selectionQueryPosition: PySide6.QtCore.QPoint#

This property holds The coordinates for the user input that should be processed by the scene as a selection..

If this property is set to a value other than invalidSelectionPoint() , the graph tries to select a data item, axis label, or a custom item at the specified coordinates within the primary viewport. After the rendering pass, the property is returned to its default state of invalidSelectionPoint() .

See also

selectedElement

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.slicingActive: bool#

This property holds Whether the 2D slicing view is currently active..

If true, selectionMode must have either SelectionRow or SelectionColumn set to a valid selection.

Note

Not all visualizations support the 2D slicing view.

Access functions:
property PᅟySide6.QtDataVisualization.Q3DScene.viewport: PySide6.QtCore.QRect#

This property holds A read only property that contains the current viewport rectangle where all the 3D rendering is targeted..

Access functions:
PySide6.QtDataVisualization.Q3DScene.activeCamera()#
Return type:

PySide6.QtDataVisualization.Q3DCamera

Getter of property activeCamera .

PySide6.QtDataVisualization.Q3DScene.activeCameraChanged(camera)#
Parameters:

cameraPySide6.QtDataVisualization.Q3DCamera

Notification signal of property activeCamera .

PySide6.QtDataVisualization.Q3DScene.activeLight()#
Return type:

PySide6.QtDataVisualization.Q3DLight

See also

setActiveLight()

Getter of property activeLight .

PySide6.QtDataVisualization.Q3DScene.activeLightChanged(light)#
Parameters:

lightPySide6.QtDataVisualization.Q3DLight

Notification signal of property activeLight .

PySide6.QtDataVisualization.Q3DScene.devicePixelRatio()#
Return type:

float

Getter of property devicePixelRatio .

PySide6.QtDataVisualization.Q3DScene.devicePixelRatioChanged(pixelRatio)#
Parameters:

pixelRatio – float

Notification signal of property devicePixelRatio .

PySide6.QtDataVisualization.Q3DScene.graphPositionQuery()#
Return type:

PySide6.QtCore.QPoint

Getter of property graphPositionQuery .

PySide6.QtDataVisualization.Q3DScene.graphPositionQueryChanged(position)#
Parameters:

positionPySide6.QtCore.QPoint

Notification signal of property graphPositionQuery .

static PySide6.QtDataVisualization.Q3DScene.invalidSelectionPoint()#
Return type:

PySide6.QtCore.QPoint

Returns a QPoint signifying an invalid selection position.

PySide6.QtDataVisualization.Q3DScene.isPointInPrimarySubView(point)#
Parameters:

pointPySide6.QtCore.QPoint

Return type:

bool

Returns whether the given point resides inside the primary subview or not. Returns true if the point is inside the primary subview.

Note

If subviews are superimposed, and the given point resides inside both, result is true only when the primary subview is on top.

PySide6.QtDataVisualization.Q3DScene.isPointInSecondarySubView(point)#
Parameters:

pointPySide6.QtCore.QPoint

Return type:

bool

Returns whether the given point resides inside the secondary subview or not. Returns true if the point is inside the secondary subview.

Note

If subviews are superimposed, and the given point resides inside both, result is true only when the secondary subview is on top.

PySide6.QtDataVisualization.Q3DScene.isSecondarySubviewOnTop()#
Return type:

bool

Getter of property secondarySubviewOnTop .

PySide6.QtDataVisualization.Q3DScene.isSlicingActive()#
Return type:

bool

Getter of property slicingActive .

PySide6.QtDataVisualization.Q3DScene.primarySubViewport()#
Return type:

PySide6.QtCore.QRect

Getter of property primarySubViewport .

PySide6.QtDataVisualization.Q3DScene.primarySubViewportChanged(subViewport)#
Parameters:

subViewportPySide6.QtCore.QRect

Notification signal of property primarySubViewport .

PySide6.QtDataVisualization.Q3DScene.secondarySubViewport()#
Return type:

PySide6.QtCore.QRect

Getter of property secondarySubViewport .

PySide6.QtDataVisualization.Q3DScene.secondarySubViewportChanged(subViewport)#
Parameters:

subViewportPySide6.QtCore.QRect

Notification signal of property secondarySubViewport .

PySide6.QtDataVisualization.Q3DScene.secondarySubviewOnTopChanged(isSecondaryOnTop)#
Parameters:

isSecondaryOnTop – bool

Notification signal of property secondarySubviewOnTop .

PySide6.QtDataVisualization.Q3DScene.selectionQueryPosition()#
Return type:

PySide6.QtCore.QPoint

Getter of property selectionQueryPosition .

PySide6.QtDataVisualization.Q3DScene.selectionQueryPositionChanged(position)#
Parameters:

positionPySide6.QtCore.QPoint

Notification signal of property selectionQueryPosition .

PySide6.QtDataVisualization.Q3DScene.setActiveCamera(camera)#
Parameters:

cameraPySide6.QtDataVisualization.Q3DCamera

See also

activeCamera()

Setter of property activeCamera .

PySide6.QtDataVisualization.Q3DScene.setActiveLight(light)#
Parameters:

lightPySide6.QtDataVisualization.Q3DLight

See also

activeLight()

Setter of property activeLight .

PySide6.QtDataVisualization.Q3DScene.setDevicePixelRatio(pixelRatio)#
Parameters:

pixelRatio – float

Setter of property devicePixelRatio .

PySide6.QtDataVisualization.Q3DScene.setGraphPositionQuery(point)#
Parameters:

pointPySide6.QtCore.QPoint

Setter of property graphPositionQuery .

PySide6.QtDataVisualization.Q3DScene.setPrimarySubViewport(primarySubViewport)#
Parameters:

primarySubViewportPySide6.QtCore.QRect

Setter of property primarySubViewport .

PySide6.QtDataVisualization.Q3DScene.setSecondarySubViewport(secondarySubViewport)#
Parameters:

secondarySubViewportPySide6.QtCore.QRect

Setter of property secondarySubViewport .

PySide6.QtDataVisualization.Q3DScene.setSecondarySubviewOnTop(isSecondaryOnTop)#
Parameters:

isSecondaryOnTop – bool

Setter of property secondarySubviewOnTop .

PySide6.QtDataVisualization.Q3DScene.setSelectionQueryPosition(point)#
Parameters:

pointPySide6.QtCore.QPoint

Setter of property selectionQueryPosition .

PySide6.QtDataVisualization.Q3DScene.setSlicingActive(isSlicing)#
Parameters:

isSlicing – bool

Setter of property slicingActive .

PySide6.QtDataVisualization.Q3DScene.slicingActiveChanged(isSlicingActive)#
Parameters:

isSlicingActive – bool

Notification signal of property slicingActive .

PySide6.QtDataVisualization.Q3DScene.viewport()#
Return type:

PySide6.QtCore.QRect

Getter of property viewport .

PySide6.QtDataVisualization.Q3DScene.viewportChanged(viewport)#
Parameters:

viewportPySide6.QtCore.QRect

Notification signal of property viewport .