Come cambiare il colore di un livello vettoriale in pyQGIS?


10

È possibile cambiare il colore durante l'aggiunta di un livello vettoriale? Ho un livello vettoriale con aree acquatiche e voglio caricarlo con uno stile di colore blu. Il livello viene aggiunto con:

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

Posso in qualche modo cambiare il colore dopo o durante il caricamento?

Risposte:


11

puoi usare qualcosa del genere:

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

Buon lavoro!


7

Finalmente con questo codice il cambiamento di un colore di livello funziona per me:

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)

Devi ricaricare anche MapCanvas e il pannello dei livelli.


Questo codice mi ha salvato dalla dolorosa ricerca => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.