最开始导入
from PyQt5.QtWidgets import QColorDialog
直接看代码
代码的作用是,四个按钮控制两个label的字体颜色与背景颜色
self.pushButton.clicked.connect(lambda: self.set_wordcolor(self.label))
self.pushButton_2.clicked.connect(lambda: self.set_backgroundcolor(self.label))
self.pushButton_3.clicked.connect(lambda: self.set_wordcolor(self.label_2))
self.pushButton_4.clicked.connect(lambda: self.set_backgroundcolor(self.label_2))
def set_wordcolor(self, label):
qcolor = QColorDialog.getColor()
red, green, blue, _ = qcolor.getRgb()
label.setStyleSheet("color:rgb({},{},{},255)".format(red, green, blue))
def set_backgroundcolor(self,label):
color = QColorDialog.getColor()
p = QPalette()
p.setColor(QPalette.Window, color)
label.setAutoFillBackground(True)
label.setPalette(p)
可以看到这里设置字体颜色和背景颜色用了两种方法:
label.setStyleSheet()
label.setPalatte()
这两种方式都可以设置字体颜色和背景颜色,但是同时用的时候会产生一个问题:对于同一个label,当你设置为字体颜色时,再去设置背景颜色,此时之前设置的字体颜色会重置为黑色!