情况1
带有Qt::Window属性的独立窗口及其子窗口的透明,直接调用
this->setWindowOpacity(0.7);
情况2
子窗口背景透明,但子窗口上的子控件是不透明的
QPalette myPalette;
QColor myColor(0,0,0);
myColor.setAlphaF(0.7);
myPalette.setBrush(backgroundRole(), myColor);
this->setPalette(myPalette);
this->setAutoFillBackground(true);
注意:如果是视频窗口,这种方法就不行;
情况3
视频播放窗口上悬浮的透明窗口
- 悬浮窗口必须是独立的窗口,需要调用下面语句强制为独立窗口
setWindowFlags(Qt::FramelessWindowHint|Qt::Window);
- 悬浮窗和播放窗口的位置要自己处理;