¿Cómo cambiar el color de una capa vectorial en pyQGIS?

10

¿Es posible cambiar el color al agregar una capa vectorial? Tengo una capa vectorial con áreas de agua y quiero cargarla con un estilo de color azul. La capa se agrega con:

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

¿Puedo cambiar el color de alguna manera después o durante la carga?

Martín
fuente

Respuestas:

11

puedes usar algo como esto:

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

¡Buen trabajo!

Sassá
fuente
7

Finalmente, con este código, el cambio de un color de capa funciona para mí:

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)

También debe volver a cargar MapCanvas y el panel de capas.

Martín
fuente
Este código me salvó de la investigación dolorosa => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin