J'ajoute cette réponse parce que je pense qu'elle peut être utile à tout le monde.
J'entre dans le problème de la mise RGBA (c'est-à-dire des couleurs RVB avec une valeur Alpha pour la transparence) pour les étiquettes d'affichage des couleurs dans mon application de peinture.
Comme je suis tombé sur la première réponse, je n'ai pas réussi à définir une couleur RGBA. J'ai également essayé des choses comme :
myLabel.setStyleSheet("QLabel { background-color : %s"%color.name())
donde color
est une couleur RGBA.
Donc, ma sale solution était d'étendre QLabel
et de passer outre paintEvent()
en remplissant son rectangle de délimitation.
Aujourd'hui, j'ai ouvert le qt-assistant
et lire le liste des propriétés de référence du style . Malheureusement, il contient un exemple qui stipule ce qui suit :
QLineEdit { background-color: rgb(255, 0, 0) }
Cela m'a ouvert l'esprit pour faire quelque chose comme le code ci-dessous, à titre d'exemple :
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+"); }")
Notez que setAutoFillBackground()
en False
ne le fera pas fonctionner.
Regards,