획 너비를 밀리미터에서지도 단위로 변경

Aug 20 2020

스트로크 너비를 mm에서지도 단위로 변경하고 싶습니다. 아래 코드는 주로 이전 질문에서 ThomasG77의 답변에서 가져온 것입니다. 불행히도 레이블 단위를 변경하는 방법 만 찾았습니다.

속성 테이블의 열을 사용하여 색상 및 선 두께를 직접 자동으로 설정

layer = iface.activeLayer()

# Get colors in rgb codes from Attribute table
layer.renderer().symbol().symbolLayer(0).dataDefinedProperties().property(QgsSymbolLayer.PropertyStrokeColor).setExpressionString("\"Farben\" || ',255'")
layer.renderer().symbol().symbolLayer(0).dataDefinedProperties().property(QgsSymbolLayer.PropertyStrokeColor).setActive(True)


# Get Stroke width from Attribute table
layer.renderer().symbol().symbolLayer(0).dataDefinedProperties().property(QgsSymbolLayer.PropertyStrokeWidth).setExpressionString("\"Linien\"")
layer.renderer().symbol().symbolLayer(0).dataDefinedProperties().property(QgsSymbolLayer.PropertyStrokeWidth).setActive(True)


# Refresh rendering of the layer
layer.triggerRepaint()

답변

2 Tobias Aug 21 2020 at 17:05

드디어 찾았습니다.

layer.renderer().symbol().symbolLayer(0).setWidthUnit(QgsUnitTypes.RenderMapUnits)

일을한다