是否可以设置qt小部件的不透明度?

Exa*_*Exa 9 c++ qt opacity qwidget

我知道有一个功能,QWidget::setWindowOpacity(qreal level)但正如文档中所写,这只适用于Windows.

有没有办法让布局内部的小部件也不透明?

我正在尝试做的是一个动画,其中小部件正在消失.我曾经使用偏好对话框进行了操作.

那么你认为有一种方法或解决办法来实现布局内的小部件的不透明度吗?你会怎么做?

提前致谢!

小智 10

只需使用QGraphicsOpacityEffect即可实现此效果.


Ja8*_*its 6

好吧,对于mainwidow内部的小部件setAutoFillBackground(False),默认情况下似乎具有。

使它淡入淡出,您需要QGraphicsOpacityEffectsetAutoFillBackground(True)

一个小例子:在主窗口内调用的小部件内编写

op=QGraphicsOpacityEffect(self)
op.setOpacity(1.00) #0 to 1 will cause the fade effect to kick in
self.setGraphicsEffect(op)
self.setAutoFillBackground(True)
Run Code Online (Sandbox Code Playgroud)