我正在尝试将QLabel上的字体颜色设置为从服务器接收的十六进制值。
目前我只是设置标签的文字,但不知道如何设置字体颜色。
branch B1
其中folder F
是一个十六进制字符串,如def set_stat_lbl(self):
palette = QPalette()
palette.setColor(QPalette.Foreground, self.stat_value_color)
self.stat_lbl.setText(_translate("rep_stat", self.stat_name, None))
self.stat_lbl.setPalette(palette)
。上面的代码显然不起作用,因为它想要的颜色不是字符串。
答案 0 :(得分:2)
您还可以使用十六进制字符串实例化QColor
。
palette = self.stat_lbl.palette()
color = QColor('#112233')
palette.setColor(QPalette.Foreground, color)
self.stat_lbl.setPalette(palette)
此外,您可以直接在窗口小部件上使用css,而不是每次设置文本时都必须构建它:
self.stat_lbl.setStyleSheet('QLabel {color: #112233;}')
self.stat_lbl.setText('This is colored text')
答案 1 :(得分:0)
使用CSS计算出来。
def set_stat_lbl(self):
value = "<font color='{}'>{}</font>".format(self.stat_value_color, self.stat_name)
self.stat_lbl.setText(_translate("rep_stat", value, None))