dgraphicsclipeffect_zh
2022-04-14 15:56:55

Class::DGraphicsClipEffect

暂无该属性


Detailed Description

用于裁剪窗口的绘制内容 支持使用 QPainterPath 设置一个区域,位于区域外的窗口内容将被裁剪,可以通过设置 UnknownCommand margins 控制有效的裁剪区域。如下图所示: UnknownCommand

 ┏━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━┓ ┃ │ ┃ ┃ │ ┃ ┃ A m ┃ ┃ │ ┃ ┃ │ ┃ ┃ ┏┅┅┅┅┅┅┷┅┅┅┅┅┅┓ ┃ ┃ ┋B ╭───────╮ ┋ ┃ ┃ ┋ │ │ ┋ ┃ ┃── m ──┋ │ C │ ┋── m ──┃ ┃ ┋ │ │ ┋ ┃ ┃ ┋ ╰───────╯ ┋ ┃ ┃ ┗┅┅┅┅┅┅┯┅┅┅┅┅┅┛ ┃ ┃ │ ┃ ┃ │ ┃ ┃ m ┃ ┃ │ ┃ ┃ │ ┃ ┗━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━┛ 
UnknownCommand A为被作用的控件区域,B为有效的被裁剪区域,C 为 UnknownCommand clipPath 区域,m为 UnknownCommand margins ,则被裁剪掉的区域为: B - C,裁掉的部分将显示 下层控件内容,如果下层没有其它控件,将显示主窗口背景。

Warning: 以这种方式实现对 QWidget 的剪切在性能上会有较大的影响,一般情况下,我们推荐使用 DClipEffectWidget

See also DClipEffectWidget QWidget::setGraphicsEffect

DGraphicsClipEffect::Q_PROPERTY

[private plain  ]

int Q_PROPERTY(int )

DGraphicsClipEffect::margins

[private plain  ]

int margins() const

DGraphicsClipEffect::clipPath

[private plain  ]

int clipPath() const See also setClipPath()

DGraphicsClipEffect::setClipPath

[public plain  ]

void setClipPath(const int &clipPath) clipPath

DGraphicsClipEffect::clipPathChanged

[public plain  ]

void clipPathChanged(int clipPath)

DGraphicsClipEffect::draw

[protected plain  ]

void draw(int *painter) override