1
PyQt有一个完整的类(QtGui.QColor)用于处理多种格式的颜色。该类包含一个setNamedColor()方法,该方法接收由万维网联盟提供的SVG color keyword names定义的指定颜色,并将颜色作为RGB值返回。python - 如何获得PyQt中的命名颜色?
所以,给出的(伪)代码:
my_color = QtGui.QColor()
my_color.setNamedColor("red")
一个得到类似 “#0000FF”
但我想恰恰是相反的:一个 “getNamedColor()” 函数,根据上面提到的SVG颜色关键字名称,给定值RGB值将返回颜色的名称。
一个满意的解决方案是使用Matplotlib颜色表(见here)在一个方便的功能,这样的:
import matplotlib.colors as colors
def get_named_color(hex):
return colors.cnames.keys()[colors.cnames.values().index(hex)]
但只是为了刁难,似乎用的QColor产生的十六进制代码( )与Matplotlib彩色词典中的不兼容!
有没有解决方案呢?
十六进制代码是十六进制代码。是什么让你觉得他们不同?你能提供一个例子吗? – ImportanceOfBeingErnest