Bạn có thể sử dụng PyQGIS cho điều đó (mặc dù không chắc chắn là giải pháp tốt nhất cho nó).
Chọn (hoặc kích hoạt) lớp trong QGIS ToC, mở bảng điều khiển Python của QGIS và sao chép đoạn mã này:
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 )
Tôi giả sử lĩnh vực của bạn để lưu trữ màu sắc được gọi là "màu". Sau khi chạy nó, tôi đã có được điều này:
Hãy cho tôi biết nếu bạn phải đối mặt với bất kỳ vấn đề.