我正在使用包含子元素的QWidget元素,我需要的是一些方法,使这个小部件完全透明,包括其子元素。
我见过QWidgets的一个方法,它是QWidget :: setWindowOpacity(),但这只适用于小部件本身就是一个窗口,而在我的情况下,这个小部件是布局的一部分。
所有这一切的目标,是我能够在出现或消失时使这个小部件褪色。
感谢您的任何想法,希望不会制作自定义小部件,但如果没有其他选择,我无论如何都可以做到。
答案 0 :(得分:32)
您可以使用QGraphicsOpacityEffect。
50%透明度的示例代码片段为:
ui->setupUi(this);
QGraphicsOpacityEffect * effect = new QGraphicsOpacityEffect(ui->pushButton);
effect->setOpacity(0.5);
ui->pushButton->setGraphicsEffect(effect);