0

我正在尝试在另一个之上显示一个小部件,并QGraphicsBlurEffect像这样将唯一应用在父级上

MyWidget::MyWidget(QWidget* parent) :
QWidget(parent),
{
    QGraphicsBlurEffect* effect = new QGraphicsBlurEffect(this);
    parent->setGraphicsEffect(effect);
}

但结果是两个小部件都是模糊的。

它看起来像效果传播到孩子们。

如何仅对父级应用模糊效果?

4

1 回答 1

1

你最好的选择是打破亲子关系。没有像QGraphicsItem's ItemIgnoresParentOpacityfor这样的标志QGraphicsEffects

另一种解决方案是复制 ItemIgnoresParentOpacity 机制并为 QGraphicsEffect 实现它,但我认为这不值得麻烦。

于 2013-10-11T07:42:22.390 回答