2011-01-07 4 views
2

私はQColorDialog.getColor()から取得するQColorを持っています。 私はそれをフォーム内のユーザーに表示したいと思います。PyQtを使ってQColorを表示するにはどうすればいいですか?

どうすればいいですか?

私はQGraphicViewを使用して、このようbackgroundBrushを設定してみました:

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

しかし、ウィジェットは、私はbackgroundbrushを変更しても白のまま。

強制的に背景を塗り替えることはできますか?

おかげ

答えて

4

は最後に、私はこのようなウィジェットを作成することを選択:

# -*- 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
s=QGraphicsScene() 
s.setBackgroundBrush(QColor(0,255,0)) 
g=QGraphicsView(s) 
g.render(QPainter()) 
関連する問題