Como mudar a cor de uma camada vetorial no pyQGIS?

10

É possível alterar a cor ao adicionar uma camada vetorial? Eu tenho uma camada vetorial com áreas de água e quero carregá-la com um estilo de cor azul. A camada é adicionada com:

QgsMapLayerRegistry.instance().addMapLayer(self.vlayer)

De alguma forma, posso alterar a cor após ou durante o carregamento?

Martin
fonte

Respostas:

11

você pode usar algo como isto:

symbols = self.vlayer.rendererV2().symbols()
symbol = symbols[0]
symbol.setColor(QColor.fromRgb(50,50,250))

Bom trabalho!

Sassá
fonte
7

Finalmente, com este código, a alteração de uma cor de camada está funcionando para mim:

QgsMapLayerRegistry.instance().addMapLayer(self.vlayer)       
symbols = self.vrlayer.rendererV2().symbols()
symbol = symbols[0]
symbol.setColor(QtGui.QColor.fromRgb(50,50,250))
qgis.utils.iface.mapCanvas().refresh() 
qgis.utils.iface.legendInterface().refreshLayerSymbology(self.vlayer)

Você precisa recarregar o MapCanvas e o painel de camadas também.

Martin
fonte
Este código me salvou de pesquisa painfull => qgis.utils.iface.legendInterface () refreshLayerSymbology (self.vlayer).
Kostadin