Python 如何在pyside QWidget中有一个透明的背景,但保持其子项不透明
我有一个小部件,其中包含很多子部件,我想将其背景设置为透明,但使其子部件不透明 我正在使用PySide 1.2.1 win7 我试过这样的方法:Python 如何在pyside QWidget中有一个透明的背景,但保持其子项不透明,python,css,qt,pyqt,pyside,Python,Css,Qt,Pyqt,Pyside,我有一个小部件,其中包含很多子部件,我想将其背景设置为透明,但使其子部件不透明 我正在使用PySide 1.2.1 win7 我试过这样的方法: self.setAttribute(Qt.WA_半透明背景,True) self.setStyleSheet(“背景色:rgba(40,40150150);边框:0px;”) 但这对我不起作用。它使整个小部件透明。我想让孩子们保持不透明。有人能帮我吗?非常感谢你。这是我的代码,谢谢你的帮助 我怀疑真正的问题是您指定的样式表正在传播到子窗口小部件
self.setAttribute(Qt.WA_半透明背景,True)
self.setStyleSheet(“背景色:rgba(40,40150150);边框:0px;”)
但这对我不起作用。它使整个小部件透明。我想让孩子们保持不透明。有人能帮我吗?非常感谢你。这是我的代码,谢谢你的帮助
我怀疑真正的问题是您指定的样式表正在传播到子窗口小部件 所以,删除
self.setStyleSheet("background-color:rgba(40,40,150,150);border:0px;")
并用类似于以下内容覆盖QWidget::paintEvent
def paintEvent(self, event):
painter = QPainter(self)
painter.fillRect(self.rect(), QColor(40, 40, 150, 150))
您的示例包含的内容太多。你能移除所有不必要的东西吗?我也没有看到透明的小部件。一切都是蓝色和黑色的。。。
def paintEvent(self, event):
painter = QPainter(self)
painter.fillRect(self.rect(), QColor(40, 40, 150, 150))