Как изменить цвет векторного слоя в pyQGIS?

10

Можно ли изменить цвет при добавлении векторного слоя? У меня есть векторный слой с областями воды и я хочу загрузить его в стиле синего цвета. Слой добавлен с:

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

Можно ли как-то изменить цвет после или во время загрузки?

Мартин
источник

Ответы:

11

Вы можете использовать что-то вроде этого:

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

Отличная работа!

SASSA
источник
7

Наконец, с этим кодом у меня работает изменение цвета слоя:

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)

Вы должны перезагрузить MapCanvas и панель слоев.

Мартин
источник
Этот код спас меня от болезненных исследований => qgis.utils.iface.legendInterface (). RefreshLayerSymbology (self.vlayer)
Костадин