QGraphicsOpacityEffect Class

The QGraphicsOpacityEffect class provides an opacity effect. More...

Header: #include <QGraphicsOpacityEffect>
qmake: QT += widgets
Since: Qt 4.6
Inherits: QGraphicsEffect

This class was introduced in Qt 4.6.


Public Functions

QGraphicsOpacityEffect(QObject *parent = nullptr)
virtual ~QGraphicsOpacityEffect()
qreal opacity() const
QBrush opacityMask() const

Public Slots

void setOpacity(qreal opacity)
void setOpacityMask(const QBrush &mask)


void opacityChanged(qreal opacity)
void opacityMaskChanged(const QBrush &mask)

Reimplemented Protected Functions

virtual void draw(QPainter *painter) override

Detailed Description

An opacity effect renders the source with an opacity. This effect is useful for making the source semi-transparent, similar to a fade-in/fade-out sequence. The opacity can be modified using the setOpacity() function.

By default, the opacity is 0.7.

See also QGraphicsDropShadowEffect, QGraphicsBlurEffect, and QGraphicsColorizeEffect.

Property Documentation

opacity : qreal

This property holds the opacity of the effect.

The value should be in the range of 0.0 to 1.0, where 0.0 is fully transparent and 1.0 is fully opaque.

By default, the opacity is 0.7.

Access functions:

qreal opacity() const
void setOpacity(qreal opacity)

Notifier signal:

void opacityChanged(qreal opacity)

See also setOpacityMask().

opacityMask : QBrush

This property holds the opacity mask of the effect.

An opacity mask allows you apply opacity to portions of an element.

For example:

QLinearGradient alphaGradient(rect.topLeft(), rect.bottomLeft());
alphaGradient.setColorAt(0.0, Qt::transparent);
alphaGradient.setColorAt(0.5, Qt::black);
alphaGradient.setColorAt(1.0, Qt::transparent);
QGraphicsOpacityEffect *effect = new QGraphicsOpacityEffect;

There is no opacity mask by default.

Access functions:

QBrush opacityMask() const
void setOpacityMask(const QBrush &mask)

Notifier signal:

void opacityMaskChanged(const QBrush &mask)

See also setOpacity().

Member Function Documentation

QGraphicsOpacityEffect::QGraphicsOpacityEffect(QObject *parent = nullptr)

Constructs a new QGraphicsOpacityEffect instance. The parent parameter is passed to QGraphicsEffect's constructor.

[signal] void QGraphicsOpacityEffect::opacityChanged(qreal opacity)

This signal is emitted whenever the effect's opacity changes. The opacity parameter holds the effect's new opacity.

Note: Notifier signal for property opacity.

[signal] void QGraphicsOpacityEffect::opacityMaskChanged(const QBrush &mask)

This signal is emitted whenever the effect's opacity mask changes. The mask parameter holds the effect's new opacity mask.

Note: Notifier signal for property opacityMask.

[virtual] QGraphicsOpacityEffect::~QGraphicsOpacityEffect()

Destroys the effect.

[override virtual protected] void QGraphicsOpacityEffect::draw(QPainter *painter)

Reimplements: QGraphicsEffect::draw(QPainter *painter).

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