Python 如何使用PyQt简单地显示QColor?

Python 如何使用PyQt简单地显示QColor?,python,qt,pyqt,Python,Qt,Pyqt,我有一个从QColorDialog.getColor()获取的QColor。 我想在表单中向用户显示它 我该怎么做 我尝试使用QGraphicView并将背景笔刷设置为: self.displayColor = QtGui.QGraphicView(self) self.color = QtGui.QColor(category.color) self.displayColor.setBackgroundBrush(QtGui.QBrush(self.color)) #

我有一个从QColorDialog.getColor()获取的QColor。 我想在表单中向用户显示它

我该怎么做

我尝试使用QGraphicView并将背景笔刷设置为:

    self.displayColor = QtGui.QGraphicView(self)
    self.color = QtGui.QColor(category.color)
    self.displayColor.setBackgroundBrush(QtGui.QBrush(self.color))
# -*- coding: utf-8 -*-
from PyQt4 import QtGui, QtCore

class ColorDisplay(QtGui.QWidget):
    def __init__(self, parent):
        super(ColorDisplay, self).__init__(parent)

        self.color = None

    def setColor(self, color):
        self.color = QtGui.QColor(color)
        self.update()

    def paintEvent(self, event=None):
        painter = QtGui.QPainter(self)
        if self.color is not None:
            painter.setBrush(QtGui.QBrush(self.color))
            painter.drawRect(self.rect())

    def getColorName(self):
        return unicode(self.color.name())
但即使我更改背景笔刷,小部件仍保持白色

如何强制它重新绘制背景


谢谢

最后,我选择创建如下小部件:

    self.displayColor = QtGui.QGraphicView(self)
    self.color = QtGui.QColor(category.color)
    self.displayColor.setBackgroundBrush(QtGui.QBrush(self.color))
# -*- coding: utf-8 -*-
from PyQt4 import QtGui, QtCore

class ColorDisplay(QtGui.QWidget):
    def __init__(self, parent):
        super(ColorDisplay, self).__init__(parent)

        self.color = None

    def setColor(self, color):
        self.color = QtGui.QColor(color)
        self.update()

    def paintEvent(self, event=None):
        painter = QtGui.QPainter(self)
        if self.color is not None:
            painter.setBrush(QtGui.QBrush(self.color))
            painter.drawRect(self.rect())

    def getColorName(self):
        return unicode(self.color.name())
我可以使用setColor()更改颜色