dblureffectwidget_zh
2022-04-14 15:55:03

Class::DBlurEffectWidget

暂无该属性


Detailed Description

用于实现主窗口或控件背景的实时模糊效果。 分为主窗口模糊 DBlurEffectWidget::BehindWindowBlend 和控件模糊 DBlurEffectWidget::InWindowBlend DBlurEffectWidget::InWindowBlend 这两种不同的模式,主窗口模糊效果依赖于窗口管理器的实现,目前仅支持 deepin-wm 和 kwin, 可以使用DWindowManagerHelper::hasBlurWindow 判断当前运行环境中的窗口管理器是否支持 模糊特效,使用 DPlatformWindowHandle::setWindowBlurAreaByWM 设置主窗口背景的模糊 区域。如果在一个主窗口内同时使用了多个 DBlurEffectWidget 控件,则在更新主窗口模糊区域 时会自动将所有控件的区域合并到 QVector 或者 QList (如果有任意一个控件设置了 DBlurEffectWidget::radius 属性)中统一设置。 控件模糊效果的原理和 DClipEffectWidget 类似,在控件绘制时先使用 QPlatformBackingStore::toImage() 获取主窗口上控件对应区域内已经绘制的内容,此时获取的内容为此控件下层控件所绘制的内容,将 获得的 QImage 对象使用软件算法进行模糊处理,然后再将模糊之后的图像绘制到控件上。由于实现 原理限制,不适用于主窗口为OpenGL绘制模式的窗口(如:QOpenGLWindow ),且控件下面使用 OpenGL绘制的内容也生成模糊的效果(如 QOpenGLWidget )

DBlurEffectWidget::Q_PROPERTY

[private plain  ]

int Q_PROPERTY(int )

DBlurEffectWidget::~DBlurEffectWidget

[private destructor  ]

~DBlurEffectWidget()

DBlurEffectWidget::radius

[private plain  ]

int radius() const

DBlurEffectWidget::mode

[private plain  ]

int mode() const See also setMode()

DBlurEffectWidget::blendMode

[private plain  ]

int blendMode() const See also setBlendMode()

DBlurEffectWidget::blurRectXRadius

[private plain  ]

int blurRectXRadius() const See also setBlurRectXRadius()

DBlurEffectWidget::blurRectYRadius

[private plain  ]

int blurRectYRadius() const See also setBlurRectYRadius()

DBlurEffectWidget::isFull

[private plain  ]

bool isFull() const

DBlurEffectWidget::isFull Returns true 窗口占据了整个模糊区域,反之为false

DBlurEffectWidget::blurEnabled

[private plain  ]

bool blurEnabled() const

DBlurEffectWidget::blurEnabled Returns true 模糊区域可伸缩调整 See also setBlurEnabled()

DBlurEffectWidget::maskColor

[private plain  ]

int maskColor() const See also setMaskColor()

DBlurEffectWidget::maskAlpha

[private plain  ]

quint8 maskAlpha() const See also setMaskAlpha()

DBlurEffectWidget::setMaskPath

[private plain  ]

void setMaskPath(const int &path)

设置模糊区域的路径,当未调用过此接口时,模糊区域为整个控件所占据的空间,此路径坐标原点为控件左上角 path Warning: 设置自定义路径之后,控件大小改变时不会再自动调整模糊区域大小 UnknownCommand DBlurEffectWidget::blurRectXRadius DBlurEffectWidget::blurRectYRadius

DBlurEffectWidget::setSourceImage

[private plain  ]

void setSourceImage(const int &image, bool autoScale)

DBlurEffectWidget::setSourceImage image**autoScale Warning: UnknownCommand

DBlurEffectWidget::setMode

[public plain  ]

void setMode(int mode)

DBlurEffectWidget::setBlendMode

[public plain  ]

void setBlendMode(int blendMode)

DBlurEffectWidget::setBlurRectXRadius

[public plain  ]

void setBlurRectXRadius(int blurRectXRadius)

DBlurEffectWidget::setBlurRectYRadius

[public plain  ]

void setBlurRectYRadius(int blurRectYRadius)

DBlurEffectWidget::setMaskAlpha

[public plain  ]

void setMaskAlpha(quint8 alpha)

DBlurEffectWidget::setMaskColor

[public plain  ]

void setMaskColor(int maskColor)

DBlurEffectWidget::setFull

[public plain  ]

void setFull(bool full)

DBlurEffectWidget::setBlurEnabled

[public plain  ]

void setBlurEnabled(bool blurEnabled)

DBlurEffectWidget::updateBlurSourceImage

[public plain  ]

void updateBlurSourceImage(const int &ren)

DBlurEffectWidget::modeChanged

[public plain  ]

void modeChanged(int mode)

DBlurEffectWidget::blendModeChanged

[public plain  ]

void blendModeChanged(int blendMode)

DBlurEffectWidget::blurRectXRadiusChanged

[public plain  ]

void blurRectXRadiusChanged(int blurRectXRadius)

DBlurEffectWidget::blurRectYRadiusChanged

[public plain  ]

void blurRectYRadiusChanged(int blurRectYRadius)

DBlurEffectWidget::maskAlphaChanged

[public plain  ]

void maskAlphaChanged(quint8 alpha)

DBlurEffectWidget::maskColorChanged

[public plain  ]

void maskColorChanged(int maskColor)

DBlurEffectWidget::fullChanged

[public plain  ]

void fullChanged(bool full)

DBlurEffectWidget::blurEnabledChanged

[public plain  ]

void blurEnabledChanged(bool blurEnabled)

DBlurEffectWidget::blurSourceImageDirtied

[public plain  ]

void blurSourceImageDirtied()

DBlurEffectWidget::DBlurEffectWidget

[protected constructor  ]

DBlurEffectWidget(DBlurEffectWidgetPrivate &dd, int *parent)

DBlurEffectWidget::paintEvent

[protected plain  ]

void paintEvent(int *event) override

DBlurEffectWidget::moveEvent

[protected plain  ]

void moveEvent(int *event) override

DBlurEffectWidget::resizeEvent

[protected plain  ]

void resizeEvent(int *event) override

DBlurEffectWidget::showEvent

[protected plain  ]

void showEvent(int *event) override

DBlurEffectWidget::hideEvent

[protected plain  ]

void hideEvent(int *event) override

DBlurEffectWidget::changeEvent

[protected plain  ]

void changeEvent(int *event) override

DBlurEffectWidget::eventFilter

[protected plain  ]

bool eventFilter(int *watched, int *event) override