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?

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!


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.


Ce code m'a sauvé de recherches pénibles => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.