QLabel: set color of text and background

后端 未结 6 1627
清歌不尽
清歌不尽 2020-11-30 20:03

How do I set color of text and background of a QLabel ?

6条回答
  •  -上瘾入骨i
    2020-11-30 20:32

    I add this answer because I think it could be useful to anybody.

    I step into the problem of setting RGBA colors (that is, RGB color with an Alpha value for transparency) for color display labels in my painting application.

    As I came across the first answer, I was unable to set an RGBA color. I have also tried things like:

    myLabel.setStyleSheet("QLabel { background-color : %s"%color.name())

    where color is an RGBA color.

    So, my dirty solution was to extend QLabel and override paintEvent() method filling its bounding rect.

    Today, I've open up the qt-assistant and read the style reference properties list. Affortunately, it has an example that states the following:

    QLineEdit { background-color: rgb(255, 0, 0) }

    Thats open up my mind in doing something like the code below, as an example:

    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+"); }")
    

    Note that setAutoFillBackground() set in False will not make it work.

    Regards,

提交回复
热议问题