QSGOpacityNode Class

The QSGOpacityNode class is used to change opacity of nodes. More...

Header: #include <QSGOpacityNode>
CMake: find_package(Qt6 COMPONENTS Quick REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
Inherits: QSGNode

Public Functions

virtual ~QSGOpacityNode() override
qreal opacity() const
void setOpacity(qreal opacity)

Detailed Description

Opacity applies to its subtree and can be nested. Multiple opacity nodes will be accumulated by multiplying their opacity. The accumulation happens as part of the rendering.

When nested opacity gets below a certain threshold, the subtree might be marked as blocked, causing isSubtreeBlocked() to return true. This is done for performance reasons.

Note: All classes with QSG prefix should be used solely on the scene graph's rendering thread. See Scene Graph and Rendering for more information.

Member Function Documentation


Constructs an opacity node with a default opacity of 1.

Opacity accumulates downwards in the scene graph so a node with two QSGOpacityNode instances above it, both with opacity of 0.5, will have effective opacity of 0.25.

The default opacity of nodes is 1.

[override virtual] QSGOpacityNode::~QSGOpacityNode()

Deletes the opacity node.

qreal QSGOpacityNode::opacity() const

Returns this opacity node's opacity.

See also setOpacity().

void QSGOpacityNode::setOpacity(qreal opacity)

Sets the opacity of this node to opacity.

Before rendering the graph, the renderer will do an update pass over the subtree to propagate the opacity to its children.

The value will be bounded to the range 0 to 1.

See also opacity().

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