QWidget 透明背景 (但不包括子组件)

3

我有一个包含QPixmapQComboxBox的QWidget在其布局中。我想将小部件的背景设置为透明(但我想正常显示QPixmapQComboBox)。我该怎么做?

2个回答

4
您可以使用属性
widget->setAttribute(Qt::WA_NoSystemBackground);

Qt文档

指示小部件没有背景,即当小部件接收到绘制事件时,背景不会自动重绘。注意:与WA_OpaquePaintEvent不同的是,新暴露的区域永远不会用背景填充(例如,在第一次显示窗口后,用户可以看“穿”它,直到应用程序处理绘制事件)。此标志由小部件的作者设置或清除。


1

4
两个链接都失效了,这就是为什么答案不应该只包含链接而是应该包含相关信息本身的原因。 - hochl
我同意这是一个问题。然而,这里所要求的信息并不是非常具体,文档已经很好地解释了它。这里不需要重复。我更新了文档链接。 - ypnos
1
虽然有解释,但并没有真正帮助或起作用。 我在一个透明小部件中添加了一个QGraphicsView,但是尽管设置了图形视图的Qt :: WA_PaintOnScreen属性,它仍然像所在的小部件一样透明。 - TheSHEEEP

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