Как просто отобразить QColor с помощью PyQt? - PullRequest
2 голосов
/ 07 января 2011

У меня есть QColor, который я получаю из QColorDialog.getColor ().Я хотел бы показать его пользователю в форме.

Как я могу это сделать?

Я попытался использовать QGraphicView и установить backgroundBrush так:

    self.displayColor = QtGui.QGraphicView(self)
    self.color = QtGui.QColor(category.color)
    self.displayColor.setBackgroundBrush(QtGui.QBrush(self.color))

Но виджет остается белым, даже если я меняю кисть фона.

Как заставить его перекрасить фон?

Спасибо

Ответы [ 2 ]

4 голосов
/ 07 января 2011

Наконец, я решил создать виджет, подобный этому:

# -*- 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 ()

4 голосов
/ 07 января 2011
s=QGraphicsScene()
s.setBackgroundBrush(QColor(0,255,0))
g=QGraphicsView(s)
g.render(QPainter())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...