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?

Martin
quelle

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!

Sassá
quelle
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.

Martin
quelle
Dieser Code rettete mich vor schmerzhaften Nachforschungen => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin