pyqt5设置控件背景透明
时间: 2023-06-25 17:03:46 浏览: 824
在 PyQt5 中设置控件背景透明需要使用以下两个方法:
1. `setStyleSheet()` 方法设置样式表,将控件的背景设置为透明。
```python
widget.setStyleSheet("background-color:transparent;")
```
2. `setAttribute()` 方法设置控件属性,将控件的背景透明度设置为 0。
```python
widget.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
```
例如,将一个 QLabel 控件的背景设置为透明,可以使用以下代码:
```python
from PyQt5 import QtWidgets, QtGui, QtCore
app = QtWidgets.QApplication([])
label = QtWidgets.QLabel("Hello World")
label.setStyleSheet("background-color:transparent;")
label.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
window = QtWidgets.QWidget()
layout = QtWidgets.QVBoxLayout(window)
layout.addWidget(label)
window.show()
app.exec_()
```
注意,如果控件的父控件或祖先控件的背景不透明,则即使将控件背景设置为透明,其仍然会显示出来。
阅读全文