使QT小部件半透明

15

我正在使用一个包含子元素的QWidget元素,我需要一种方法使此小部件半透明,包括其子元素。

我看到了一个QWidgets的方法是QWidget::setWindowOpacity(),但这仅适用于小部件本身是窗口的情况,而在我的情况下,该小部件是布局的一部分。

所有这些的目的,是让我能够在出现或消失时淡化此小部件。

感谢任何想法,希望不要制作自定义小部件,但如果没有更多的替代方案,我可以无论如何去做。

1个回答

38
你可以使用QGraphicsOpacityEffect
一个50%透明度的示例代码片段如下:
ui->setupUi(this);
QGraphicsOpacityEffect * effect = new QGraphicsOpacityEffect(ui->pushButton);
effect->setOpacity(0.5);
ui->pushButton->setGraphicsEffect(effect);

4
非常感谢您的帮助,它完美地工作了,我可以使用QPropertyAnimation正确地进行动画处理。非常感谢您,socio。 - Ale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接