QGraphicsDropShadowEffect Class

The QGraphicsDropShadowEffect class provides a drop shadow effect. More...

Header: #include <QGraphicsDropShadowEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QGraphicsEffect

Properties

Public Functions

QGraphicsDropShadowEffect(QObject *parent = nullptr)
virtual ~QGraphicsDropShadowEffect()
qreal blurRadius() const
QColor color() const
QPointF offset() const
qreal xOffset() const
qreal yOffset() const

Reimplemented Public Functions

virtual QRectF boundingRectFor(const QRectF &rect) const override

Public Slots

void setBlurRadius(qreal blurRadius)
void setColor(const QColor &color)
void setOffset(const QPointF &ofs)
void setOffset(qreal dx, qreal dy)
void setOffset(qreal d)
void setXOffset(qreal dx)
void setYOffset(qreal dy)

Signals

void blurRadiusChanged(qreal blurRadius)
void colorChanged(const QColor &color)
void offsetChanged(const QPointF &offset)

Reimplemented Protected Functions

virtual void draw(QPainter *painter) override

Detailed Description

A drop shadow effect renders the source with a drop shadow. The color of the drop shadow can be modified using the setColor() function. The drop shadow offset can be modified using the setOffset() function and the blur radius of the drop shadow can be changed with the setBlurRadius() function.

By default, the drop shadow is a semi-transparent dark gray (QColor(63, 63, 63, 180)) shadow, blurred with a radius of 1 at an offset of 8 pixels towards the lower right. The drop shadow offset is specified in device coordinates.

See also QGraphicsBlurEffect, QGraphicsColorizeEffect, and QGraphicsOpacityEffect.

Property Documentation

blurRadius : qreal

This property holds the blur radius in pixels of the drop shadow.

Using a smaller radius results in a sharper shadow, whereas using a bigger radius results in a more blurred shadow.

By default, the blur radius is 1 pixel.

Access functions:

qreal blurRadius() const
void setBlurRadius(qreal blurRadius)

Notifier signal:

void blurRadiusChanged(qreal blurRadius)

See also color() and offset().

color : QColor

This property holds the color of the drop shadow.

By default, the drop color is a semi-transparent dark gray (QColor(63, 63, 63, 180)).

Access functions:

QColor color() const
void setColor(const QColor &color)

Notifier signal:

void colorChanged(const QColor &color)

See also offset() and blurRadius().

offset : QPointF

This property holds the shadow offset in pixels.

By default, the offset is 8 pixels towards the lower right.

The offset is given in device coordinates, which means it is unaffected by scale.

Access functions:

QPointF offset() const
void setOffset(const QPointF &ofs)
void setOffset(qreal dx, qreal dy)
void setOffset(qreal d)

Notifier signal:

void offsetChanged(const QPointF &offset)

See also xOffset(), yOffset(), blurRadius(), and color().

xOffset : qreal

This property holds the horizontal shadow offset in pixels.

By default, the horizontal shadow offset is 8 pixels.

Access functions:

qreal xOffset() const
void setXOffset(qreal dx)

Notifier signal:

void offsetChanged(const QPointF &offset)

See also yOffset() and offset().

yOffset : qreal

This property holds the vertical shadow offset in pixels.

By default, the vertical shadow offset is 8 pixels.

Access functions:

qreal yOffset() const
void setYOffset(qreal dy)

Notifier signal:

void offsetChanged(const QPointF &offset)

See also xOffset() and offset().

Member Function Documentation

QGraphicsDropShadowEffect::QGraphicsDropShadowEffect(QObject *parent = nullptr)

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

[virtual noexcept] QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect()

Destroys the effect.

[signal] void QGraphicsDropShadowEffect::blurRadiusChanged(qreal blurRadius)

This signal is emitted whenever the effect's blur radius changes. The blurRadius parameter holds the effect's new blur radius.

Note: Notifier signal for property blurRadius.

[override virtual] QRectF QGraphicsDropShadowEffect::boundingRectFor(const QRectF &rect) const

Reimplements: QGraphicsEffect::boundingRectFor(const QRectF &rect) const.

[signal] void QGraphicsDropShadowEffect::colorChanged(const QColor &color)

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

Note: Notifier signal for property color.

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

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

[signal] void QGraphicsDropShadowEffect::offsetChanged(const QPointF &offset)

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

Note: Notifier signal for property offset. Notifier signal for property xOffset. Notifier signal for property yOffset.