Jak zmienić kolor warstwy wektorowej w pyQGIS?

10

Czy można zmienić kolor podczas dodawania warstwy wektorowej? Mam warstwę wektorową z obszarami wodnymi i chcę załadować ją w stylu koloru niebieskiego. Warstwa jest dodawana z:

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

Czy mogę w jakiś sposób zmienić kolor po lub podczas ładowania?

Jaskółka oknówka
źródło

Odpowiedzi:

11

możesz użyć czegoś takiego:

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

Dobra robota!

Sassá
źródło
7

Wreszcie przy pomocy tego kodu działa dla mnie zmiana koloru warstwy:

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)

Musisz także ponownie załadować MapCanvas i panel warstw.

Jaskółka oknówka
źródło
Ten kod uratował mnie przed bolesnymi badaniami => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Kostadin