pyqt5设置控件透明方法:首先使用QGraphicsOpacityEffect类设置图形元素的透明效果;然后使用“元素名称.setOpacity(透明值)”设置元素的透明度,参数值在0和“1.0”之间即可。 本教程操作环
pyqt5设置控件透明方法:首先使用QGraphicsOpacityEffect类设置图形元素的透明效果;然后使用“元素名称.setOpacity(透明值)”设置元素的透明度,参数值在0和“1.0”之间即可。
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
PyQT设置控件透明度
PyQT5给控件设置Opacity,方法:QGraphicsOpacityEffect
下面这段示例代码中,myshow是一个QPushButton,给其设置透明度的方法如下:
op = QtWidgets.QGraphicsOpacityEffect() op.setOpacity(0.5) myshow.setGraphicsEffect(op) myshow.setAutoFillBackground(True)
完整示例,可以直接粘贴使用:
from PyQt5 import QtWidgets, QtCore import sys from PyQt5.QtCore import * import time if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) myshow = QtWidgets.QPushButton('Button') myshow.setStyleSheet(""" padding-left: 10px; padding-right: 10px; padding-top: 1px; padding-bottom: 1px; border:1px solid #0073df; border-radius:5px; background: #167ce9; color: #fff; """) def changeOpacity(_): op = QtWidgets.QGraphicsOpacityEffect() op.setOpacity(0.5) myshow.setGraphicsEffect(op) myshow.setAutoFillBackground(True) myshow.clicked.connect(changeOpacity) layout = QtWidgets.QVBoxLayout() layout.addWidget(myshow) main = QtWidgets.QWidget() main.setLayout(layout) main.show() sys.exit(app.exec_())