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


10

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

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

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

Ответы:


11

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

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

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


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)
Костадин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.