最开始导入
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,当你设置为字体颜色时,再去设置背景颜色,此时之前设置的字体颜色会重置为黑色!