如何在Pyside2 QGroupBox中间加一张透明图当背景
时间: 2024-05-06 17:20:07 浏览: 108
groupbox 透明背景
4星 · 用户满意度95%
您可以使用QPalette来设置QGroupBox的背景。以下是一个示例代码,它将在QGroupBox中间添加一张透明图像作为背景:
```python
from PySide2.QtWidgets import QApplication, QGroupBox, QVBoxLayout
from PySide2.QtGui import QColor, QPixmap, QPainter
class TransparentGroupBox(QGroupBox):
def __init__(self, title="", parent=None):
super().__init__(title, parent)
self.palette = self.palette()
self.palette.setBrush(self.backgroundRole(), QColor(0, 0, 0, 0))
self.setPalette(self.palette)
def paintEvent(self, event):
painter = QPainter(self)
painter.drawPixmap(self.rect(), QPixmap("background.png"))
if __name__ == "__main__":
app = QApplication([])
window = QWidget()
layout = QVBoxLayout(window)
groupbox = TransparentGroupBox("Group Box")
layout.addWidget(groupbox)
window.show()
app.exec_()
```
在这个示例中,我们创建了一个名为TransparentGroupBox的自定义QWidget。在构造函数中,我们设置了一个透明的背景色。在paintEvent中,我们使用QPainter绘制了背景图像。您可以替换background.png为您自己的背景图像。
阅读全文