【发布时间】:2012-07-26 04:30:33
【问题描述】:
我有一个 QWidget,它的布局中包含一个 QPixmap 和一个 QComboxBox。我想将小部件的背景设置为透明(但我想正常显示QPixmap 和QComboBox)。我该怎么做?
【问题讨论】:
标签: qt background qwidget
我有一个 QWidget,它的布局中包含一个 QPixmap 和一个 QComboxBox。我想将小部件的背景设置为透明(但我想正常显示QPixmap 和QComboBox)。我该怎么做?
【问题讨论】:
标签: qt background qwidget
你可以使用属性
widget->setAttribute(Qt::WA_NoSystemBackground);
表示小部件没有背景,即当小部件 接收绘画事件,背景不会自动重绘。 注意:与 WA_OpaquePaintEvent 不同,新暴露的区域永远不会被填充 带有背景(例如,在第一次显示窗口之后 用户可以“看穿”它,直到应用程序处理 绘画事件)。此标志由小部件的作者设置或清除。
【讨论】:
这在 QWidget 文档中有很好的解释: http://doc.qt.io/qt-5/qwidget.html#transparency-and-double-buffering
【讨论】: