Comment changer la couleur d'une couche vectorielle dans pyQGIS?

10

Est-il possible de changer la couleur lors de l'ajout d'un calque vectoriel? J'ai un calque vectoriel avec des zones d'eau et je veux le charger avec un style de couleur bleue. La couche est ajoutée avec:

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

Puis-je en quelque sorte changer la couleur après ou pendant le chargement?

Martin
la source

Réponses:

11

vous pouvez utiliser quelque chose comme ça:

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

Bon travail!

Sassá
la source
7

Enfin avec ce code le changement de couleur d'un calque fonctionne pour moi:

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)

Vous devez également recharger MapCanvas et le panneau des couches.

Martin
la source
Ce code m'a sauvé de recherches pénibles => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin