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?

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!


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.


Este código me salvou de pesquisa painfull => qgis.utils.iface.legendInterface () refreshLayerSymbology (self.vlayer).
Kostadin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.