PyQt有一整堂课(QtGui.q颜色)用于处理多种格式的颜色。此类包含一个setNamedColor()方法,该方法接收由万维网联盟提供的SVG color keyword names定义的命名颜色,并将颜色作为RGB值返回。在
因此,考虑到(伪)代码:
my_color = QtGui.QColor()
my_color.setNamedColor("red")
你会得到“0000ff”之类的信息
但我想要的恰恰相反:一个“getNamedColor()”函数,给定一个有效的RGB值,它将根据上述SVG color关键字名称返回颜色的名称。在
一个令人满意的解决方案是在这样一个方便的函数中使用Matplotlib colors表(请参见here):
^{pr2}$但是让事情变得更困难的是,QColor()生成的十六进制代码似乎与Matplotlib颜色字典中的不兼容!在
有什么解决办法吗?在
结果我的问题的答案很简单(虽然不是很明显):
QColor()十六进制代码如下:“#0000ff”,而在Matplotlib颜色字典中,所有代码都是大写的:“#0000ff”。在
因此,将上面的小函数修改为:
它工作得很好。在
相关问题 更多 >
编程相关推荐