Wie ändere ich die Farbe einer Vektorebene in pyQGIS?


10

Ist es möglich, die Farbe beim Hinzufügen einer Vektorebene zu ändern? Ich habe eine Vektorebene mit Wasserflächen und möchte sie mit einem blauen Farbstil laden. Die Ebene wird hinzugefügt mit:

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

Kann ich die Farbe nach oder während des Ladens irgendwie ändern?

Antworten:


11

Sie können so etwas verwenden:

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

Gut gemacht!


7

Schließlich funktioniert mit diesem Code die Änderung einer Ebenenfarbe für mich:

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)

Sie müssen auch MapCanvas und das Ebenenbedienfeld neu laden.


Dieser Code rettete mich vor schmerzhaften Nachforschungen => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.