首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PyQt简单地显示QColor?

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

Stack Overflow用户
提问于 2011-01-07 19:24:06
回答 2查看 12.7K关注 0票数 2

我有一个从QColorDialog.getColor()获得的QColor。我想在表单中将其显示给用户。

我该怎么做呢?

我尝试使用QGraphicView并像这样设置backgroundBrush:

代码语言:javascript
复制
    self.displayColor = QtGui.QGraphicView(self)
    self.color = QtGui.QColor(category.color)
    self.displayColor.setBackgroundBrush(QtGui.QBrush(self.color))

但是即使我改变了背景笔刷,小工具仍然是白色的。

怎样才能强制它重新绘制背景呢?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-07 23:42:22

最后,我选择像这样创建一个小部件:

代码语言:javascript
复制
# -*- 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
EN

Stack Overflow用户

发布于 2011-01-07 21:00:31

代码语言:javascript
复制
s=QGraphicsScene()
s.setBackgroundBrush(QColor(0,255,0))
g=QGraphicsView(s)
g.render(QPainter())
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4624985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档