本页内容

QGraphicsBlurEffect Class

QGraphicsBlurEffect 类提供了一种模糊效果。更多内容...

头文件: #include <QGraphicsBlurEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承自: QGraphicsEffect

公共类型

enum BlurHint { PerformanceHint, QualityHint, AnimationHint }
flags BlurHints

属性

公共函数

QGraphicsBlurEffect(QObject *parent = nullptr)
virtual ~QGraphicsBlurEffect()
QGraphicsBlurEffect::BlurHints blurHints() const
qreal blurRadius() const

重新实现的公共函数

virtual QRectF boundingRectFor(const QRectF &rect) const override

公共插槽

void setBlurHints(QGraphicsBlurEffect::BlurHints hints)
void setBlurRadius(qreal blurRadius)

信号

void blurHintsChanged(QGraphicsBlurEffect::BlurHints hints)
void blurRadiusChanged(qreal radius)

重新实现的受保护函数

virtual void draw(QPainter *painter) override

详细说明

模糊效果会使源对象变得模糊。该效果有助于降低细节清晰度,例如当源对象不再是焦点时,您希望将注意力引向其他元素。可通过setBlurRadius()函数调整细节级别。使用setBlurHints()选择模糊提示。

默认情况下,模糊半径为 5 像素。模糊半径以设备坐标为单位指定。

鱼的图片上的模糊效果

另请参阅 QGraphicsDropShadowEffect 、QGraphicsColorizeEffect 和QGraphicsOpacityEffect 。

成员类型文档

enum QGraphicsBlurEffect::BlurHint
flags QGraphicsBlurEffect::BlurHints

此枚举描述了可用于控制模糊效果应用方式的各种提示。这些提示可能并非在所有绘制引擎中都有效。

常量值描述
QGraphicsBlurEffect::PerformanceHint0x00表示渲染性能是首要考虑因素,但可能会以牺牲质量为代价。
QGraphicsBlurEffect::QualityHint0x01表示渲染质量是最重要的因素,但这可能会以牺牲性能为代价。
QGraphicsBlurEffect::AnimationHint0x02表示将对模糊半径进行动画处理,暗示实现可以缓存源图像的模糊版本。如果源图像会动态变化,请勿使用此提示。

BlurHints 类型是QFlags<BlurHint> 的 typedef 定义。它存储 BlurHint 值的按“或”运算组合。

另请参阅 blurHints() 和setBlurHints()。

属性文档

blurHints : BlurHints

该属性用于存储效果的模糊提示。

使用PerformanceHint 提示表示希望模糊效果更快,使用QualityHint 提示表示希望获得更高质量的模糊效果,或者使用AnimationHint 提示表示希望对模糊半径进行动画处理。

默认情况下,模糊提示为PerformanceHint 。

访问函数:

QGraphicsBlurEffect::BlurHints blurHints() const
void setBlurHints(QGraphicsBlurEffect::BlurHints hints)

通知器信号:

void blurHintsChanged(QGraphicsBlurEffect::BlurHints hints)

blurRadius : qreal

此属性用于设置效果的模糊半径。

使用较小的半径会使外观更清晰,而使用较大的半径则会使外观更模糊。

默认情况下,模糊半径为 5 像素。

半径以设备坐标表示,这意味着它不受缩放比例的影响。

访问函数:

qreal blurRadius() const
void setBlurRadius(qreal blurRadius)

通知信号:

void blurRadiusChanged(qreal radius)

成员函数文档

QGraphicsBlurEffect::QGraphicsBlurEffect(QObject *parent = nullptr)

创建一个新的 QGraphicsBlurEffect 实例。parent 参数将传递给QGraphicsEffect 的构造函数。

[virtual noexcept] QGraphicsBlurEffect::~QGraphicsBlurEffect()

消除该效果。

[signal] void QGraphicsBlurEffect::blurHintsChanged(QGraphicsBlurEffect::BlurHints hints)

每当效果的模糊提示发生变化时,都会触发此信号。hints 参数保存了效果的新模糊提示。

注意: 这是属性 `blurHints`的通知器 信号。

[signal] void QGraphicsBlurEffect::blurRadiusChanged(qreal radius)

每当效果的模糊半径发生变化时,都会触发此信号。radius 参数存储了效果的新模糊半径。

注意: 这是属性blurRadius的通知 信号。

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

重写了:QGraphicsEffect::boundingRectFor(const QRectF &rect) const。

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

重写了:QGraphicsEffect::draw(QPainter *painter)。

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