QGraphicsBlurEffect Class
QGraphicsBlurEffect 类提供了一种模糊效果。更多内容...
| 头文件: | #include <QGraphicsBlurEffect> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 继承自: | QGraphicsEffect |
公共类型
属性
- blurHints : BlurHints
- blurRadius : qreal
公共函数
| 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::PerformanceHint | 0x00 | 表示渲染性能是首要考虑因素,但可能会以牺牲质量为代价。 |
QGraphicsBlurEffect::QualityHint | 0x01 | 表示渲染质量是最重要的因素,但这可能会以牺牲性能为代价。 |
QGraphicsBlurEffect::AnimationHint | 0x02 | 表示将对模糊半径进行动画处理,暗示实现可以缓存源图像的模糊版本。如果源图像会动态变化,请勿使用此提示。 |
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.