Answers:
您可以为此使用PyQGIS(尽管不确定是最好的解决方案)。
选择(或激活)QGIS ToC中的图层,打开QGIS Python控制台,然后复制以下代码片段:
prefix = "'"
layer = iface.activeLayer()
attr = layer.rendererV2().classAttribute()
attrColor = 'color' # Name of the field to store colors
fieldIndex = layer.dataProvider().fieldNameIndex(attrColor)
attrFeatMap = {}
for cat in layer.rendererV2().categories():
expr = "\""+attr+"\"="+prefix+unicode(cat.value())+prefix
for f in layer.getFeatures(QgsFeatureRequest(QgsExpression(expr))):
attrMap = { fieldIndex : cat.symbol().color().name()}
attrFeatMap[ f.id() ] = attrMap
layer.dataProvider().changeAttributeValues( attrFeatMap )
我假设您存储颜色的字段称为“颜色”。运行它之后,我获得了这一点:
如果您遇到任何问题,请告诉我。
cat.symbol().color().name()
,做这样的事情:str(cat.symbol().color().red()) +','+ str(cat.symbol().color().green()) +','+ str(cat.symbol().color().blue())