다각형 PyQGIS의 스트로크 너비 변경

Aug 20 2020

나는 검은 윤곽선을보고 싶지 않기 때문에 호수 윤곽선의 너비를 0으로 설정하거나 색상을 하늘색으로 변경하려고합니다. 벡터 파일은 vlayer2라는 Polygon (MultiPolygon)이며 다음 명령을 시도했습니다.

vlayer2.setStrokeWidth(0)
vlayer2.setStrokeColor([49,179,245])
vlayer2.setWidth(0)

하지만 항상 다음과 같은 메시지가 표시됩니다. ''AttributeError : 'QgsVectorLayer'object has no attribute '....' ''

답변

1 BenW Aug 21 2020 at 00:21

사용하려는 메서드는 QgsSimpleMarkerSymbolLayer 클래스에 속합니다 . 이러한 메서드를 호출하기 전에 벡터 레이어의 렌더러의 심볼 레이어에 액세스해야합니다.

다음은 QColor이 메서드에 개체를 전달해야한다는 점을 염두에두고 획 색상을 설정하는 데 효과적입니다 .

vlayer2.renderer().symbol().symbolLayer(0).setStrokeColor(QColor(49, 179, 245))
vlayer2.triggerRepaint()

또는 획 스타일을 '펜 없음'으로 설정할 수 있습니다. 너비를 0으로 설정해도 여전히 '가는 선'너비가 제공됩니다.

vlayer2.renderer().symbol().symbolLayer(0).setStrokeStyle(Qt.PenStyle.NoPen)
vlayer2.triggerRepaint()

유용한 예제가 많이 포함 된 PyQGIS Developer Cookbook 을 확인하는 것이 좋습니다 .