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) 고통 스럽다 연구에서 저를 저장
Kostadin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.