|
设置QWidget或QDialog的背景半透明,可以这样做:
1) 在构造函数里:setWindowFlags(Qt::FramelessWindowHint); setAttribute(Qt::WA_TranslucentBackground);
2)setStyleSheet 里设置
QWidget
{
background:rgba(45,45,45,210);
}
以上方法只在一般背景下半透明,而要在Osg三维场景上半透明,做不到。不知道这是为什么?另外经过测试如果把QWidget弄成顶层即pWidget->setParent(NULL),是可以在三维上半透明的,如果作此Widget有父则不可以。怎么解决这个问题???
见下图,基于Qt的demo,左边的那个窗口继承自QWidget右边的继承自QGLWidget,半透明窗口是MainWindow的子,左边透明而右边不透明。
|
|