我添加这个答案是因为我觉得它对任何人都有用 .
我在绘画应用程序中为彩色显示标签设置了RGBA颜色(即RGB颜色,透明度为Alpha值)的问题 .
当我遇到第一个答案时,我无法设置RGBA颜色 . 我也尝试过这样的事情:
myLabel.setStyleSheet("QLabel { background-color : %s"%color.name())
其中 color 是RGBA颜色 .
所以,我的脏解决方案是扩展 QLabel 并覆盖填充其边界矩形的 paintEvent() 方法 .
今天,我打开 qt-assistant 并阅读style reference properties list . 幸运的是,它有一个例子说明如下:
QLineEdit { background-color: rgb(255, 0, 0) }
作为一个例子,这就像下面的代码那样打开了我的想法:
myLabel= QLabel()
myLabel.setAutoFillBackground(True) # This is important!!
color = QtGui.QColor(233, 10, 150)
alpha = 140
values = "{r}, {g}, {b}, {a}".format(r = color.red(),
g = color.green(),
b = color.blue(),
a = alpha
)
myLabel.setStyleSheet("QLabel { background-color: rgba("+values+"); }")
请注意, False 中设置的 setAutoFillBackground() 将无法正常工作 .
问候,