QSGEngine

The QSGEngine class allows low level rendering of a scene graph. More

Inheritance diagram of PySide2.QtQuick.QSGEngine

Synopsis

Functions

Detailed Description

A QSGEngine can be used to render a tree of QSGNode directly on a QWindow or QOpenGLFramebufferObject without any integration with QML, QQuickWindow or QQuickItem and the convenience that they provide.

This means that you must handle event propagation, animation timing, and node lifetime yourself.

Note

This class is for very low level access to an independent scene graph. Most of the time you will instead want to subclass QQuickItem and insert your QSGNode in a normal QtQuick scene by overriding updatePaintNode() .

Warning

This class is only suitable when working directly with OpenGL. It is not compatible with the RHI-based rendering path .

class PySide2.QtQuick.QSGEngine([parent=None])
param parent:

PySide2.QtCore.QObject

Constructs a new QSGEngine with its parent

PySide2.QtQuick.QSGEngine.CreateTextureOption

The enums are used to customize how a texture is wrapped.

Constant

Description

QSGEngine.TextureHasAlphaChannel

The texture has an alpha channel and should be drawn using blending.

QSGEngine.TextureOwnsGLTexture

The texture object owns the texture id and will delete the GL texture when the texture object is deleted.

QSGEngine.TextureCanUseAtlas

The image can be uploaded into a texture atlas.

QSGEngine.TextureIsOpaque

The texture object is opaque.

PySide2.QtQuick.QSGEngine.createRenderer()
Return type:

PySide2.QtQuick.QSGAbstractRenderer

Returns a renderer that can be used to render a QSGNode tree

You call initialize() first with the QOpenGLContext that you want to use with this renderer. This will return a null renderer otherwise.

PySide2.QtQuick.QSGEngine.createTextureFromId(id, size[, options=QSGEngine.CreateTextureOption()])
Parameters:
Return type:

PySide2.QtQuick.QSGTexture

Creates a texture object that wraps the GL texture id uploaded with size

Valid options are TextureHasAlphaChannel and TextureOwnsGLTexture

The caller takes ownership of the texture object and the texture should only be used with this engine.

PySide2.QtQuick.QSGEngine.createTextureFromImage(image[, options=QSGEngine.CreateTextureOption()])
Parameters:
Return type:

PySide2.QtQuick.QSGTexture

Creates a texture using the data of image

Valid options are TextureCanUseAtlas and TextureIsOpaque .

The caller takes ownership of the texture and the texture should only be used with this engine.

PySide2.QtQuick.QSGEngine.initialize(context)
Parameters:

contextPySide2.QtGui.QOpenGLContext

Note

This function is deprecated.

Initialize the engine with context .

Warning

You have to make sure that you call makeCurrent() on context before calling this.

PySide2.QtQuick.QSGEngine.invalidate()

Invalidate the engine releasing its resources

You will have to call initialize() and createRenderer() if you want to use it again.

PySide2.QtQuick.QSGEngine.rendererInterface()
Return type:

PySide2.QtQuick.QSGRendererInterface

Returns the current renderer interface if there is one. Otherwise null is returned.

See also

QSGRenderNode QSGRendererInterface