Як змінити колір векторного шару в 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.