当前位置: 代码迷 >> 综合 >> PyQt5:颜色对话框QColorDialog
  详细解决方案

PyQt5:颜色对话框QColorDialog

热度:93   发布时间:2023-11-29 11:48:39.0

最开始导入

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