Class: QgsLineSymbolLayer

class qgis.core.QgsLineSymbolLayer(locked: bool = False)

Bases: QgsSymbolLayer

Parameters

locked

AllRings = 0
ExteriorRingOnly = 1
InteriorRingsOnly = 2
class RenderRingFilter

Bases: int

copyDataDefinedProperties()
copyPaintEffect()
drawPreviewIcon(self, context: QgsSymbolRenderContext, size: QSize)
Parameters
dxfWidth(self, e: QgsDxfExport, context: QgsSymbolRenderContext) → float
Parameters
Return type

float

mapUnitScale(self) → QgsMapUnitScale
Return type

QgsMapUnitScale

offset(self) → float

Returns the line’s offset.

Offset units can be retrieved by calling offsetUnit().

See also

setOffset()

See also

offsetUnit()

Return type

float

offsetMapUnitScale(self) → QgsMapUnitScale

Returns the map unit scale for the line’s offset.

See also

offset()

See also

offsetUnit()

Return type

QgsMapUnitScale

offsetUnit(self) → QgsUnitTypes.RenderUnit

Returns the units for the line’s offset.

See also

setOffsetUnit()

See also

offset()

Return type

QgsUnitTypes.RenderUnit

outputUnit(self) → QgsUnitTypes.RenderUnit
Return type

QgsUnitTypes.RenderUnit

renderPolygonStroke(self, points: QPolygonF, rings: Iterable[QPolygonF], context: QgsSymbolRenderContext)

Renders the line symbol layer along the outline of polygon, using the given render context.

The exterior ring of the polygon is specified in points. Optionally, interior rings are set via the rings argument.

See also

renderPolyline()

Parameters
renderPolyline(self, points: QPolygonF, context: QgsSymbolRenderContext)

Renders the line symbol layer along the line joining points, using the given render context.

Parameters
restoreOldDataDefinedProperties()
ringFilter(self) → QgsLineSymbolLayer.RenderRingFilter

Returns the line symbol layer’s ring filter, which controls which rings are rendered when the line symbol is being used to draw a polygon’s rings.

This setting has no effect when the line symbol is not being rendered for a polygon.

See also

setRingFilter()

New in version 3.6.

Return type

QgsLineSymbolLayer.RenderRingFilter

setMapUnitScale(self, scale: QgsMapUnitScale)
Parameters

scale (QgsMapUnitScale) –

setOffset(self, offset: float)

Sets the line’s offset.

Offset units are set via setOffsetUnit().

See also

offset()

See also

setOffsetUnit()

Parameters

offset (float) –

setOffsetMapUnitScale(self, scale: QgsMapUnitScale)

Sets the map unit scale for the line’s offset.

See also

setOffset()

See also

setOffsetUnit()

Parameters

scale (QgsMapUnitScale) –

setOffsetUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the unit for the line’s offset.

See also

offsetUnit()

See also

setOffset()

Parameters

unit (QgsUnitTypes.RenderUnit) –

setOutputUnit(self, unit: QgsUnitTypes.RenderUnit)

QgsLineSymbolLayer cannot be copied

Parameters

unit (QgsUnitTypes.RenderUnit) –

setRingFilter(self, filter: QgsLineSymbolLayer.RenderRingFilter)

Sets the line symbol layer’s ring filter, which controls which rings are rendered when the line symbol is being used to draw a polygon’s rings.

This setting has no effect when the line symbol is not being rendered for a polygon.

See also

ringFilter()

New in version 3.6.

Parameters

filter (QgsLineSymbolLayer.RenderRingFilter) –

setWidth(self, width: float)

Sets the width of the line symbol layer.

Calling this method updates the width of the line symbol layer, without changing the existing width units. It has different effects depending on the line symbol layer subclass, e.g. for a simple line layer it changes the stroke width of the line, for a marker line layer it changes the size of the markers used to draw the line.

See also

width()

Warning

Since the width units vary, this method is useful for changing the relative width of a line symbol layer only.

Parameters

width (float) –

setWidthMapUnitScale(self, scale: QgsMapUnitScale)
Parameters

scale (QgsMapUnitScale) –

setWidthUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the units for the line’s width.

Parameters

unit (QgsUnitTypes.RenderUnit) – width units

See also

widthUnit()

width(self) → float

Returns the estimated width for the line symbol layer.

Warning

This returned value is inaccurate if the symbol layer has sub-symbols with different width units. Use the overload accepting a QgsRenderContext argument instead for accurate sizes in this case.

See also

setWidth()

width(self, context: QgsRenderContext) -> float Returns the line symbol layer width, in painter units.

This method returns an accurate width by calculating the actual rendered width of the symbol layer using the provided render context.

See also

setWidth()

New in version 3.4.5.

Return type

float

widthMapUnitScale(self) → QgsMapUnitScale
Return type

QgsMapUnitScale

widthUnit(self) → QgsUnitTypes.RenderUnit

Returns the units for the line’s width.

See also

setWidthUnit()

Return type

QgsUnitTypes.RenderUnit