Class: QgsSymbolLayer

class qgis.core.QgsSymbolLayer(type: QgsSymbol.SymbolType, locked: bool = False)

Bases: sip.wrapper

Parameters
class Property

Bases: int

PropertyAngle = 1
PropertyArrowHeadLength = 47
PropertyArrowHeadThickness = 48
PropertyArrowHeadType = 49
PropertyArrowStartWidth = 46
PropertyArrowType = 50
PropertyArrowWidth = 45
PropertyAverageAngleLength = 41
PropertyBlurRadius = 26
PropertyCapStyle = 37
PropertyCharacter = 8
PropertyCoordinateMode = 18
PropertyCustomDash = 36
PropertyDisplacementX = 33
PropertyDisplacementY = 34
PropertyDistanceX = 31
PropertyDistanceY = 32
PropertyFile = 30
PropertyFillColor = 3
PropertyFillStyle = 12
PropertyGradientReference1IsCentroid = 24
PropertyGradientReference1X = 20
PropertyGradientReference1Y = 21
PropertyGradientReference2IsCentroid = 25
PropertyGradientReference2X = 22
PropertyGradientReference2Y = 23
PropertyGradientSpread = 19
PropertyGradientType = 17
PropertyHeight = 10
PropertyHorizontalAnchor = 42
PropertyInterval = 39
PropertyJoinStyle = 13
PropertyLayerEnabled = 44
PropertyLineAngle = 15
PropertyLineDistance = 16
PropertyName = 2
PropertyOffset = 7
PropertyOffsetAlongLine = 40
PropertyOffsetX = 51
PropertyOffsetY = 52
PropertyOpacity = 35
PropertyPlacement = 38
PropertyPreserveAspectRatio = 11
PropertySecondaryColor = 14
PropertyShapeburstIgnoreRings = 29
PropertyShapeburstMaxDistance = 28
PropertyShapeburstUseWholeShape = 27
PropertySize = 0
PropertyStrokeColor = 4
PropertyStrokeStyle = 6
PropertyStrokeWidth = 5
PropertyVerticalAnchor = 43
PropertyWidth = 9
clone(self) → QgsSymbolLayer

Shall be reimplemented by subclasses to create a deep copy of the instance.

Return type

QgsSymbolLayer

color(self) → QColor

The fill color.

Return type

QColor

copyDataDefinedProperties(self, destLayer: QgsSymbolLayer)

Copies all data defined properties of this layer to another symbol layer.

Parameters

destLayer (QgsSymbolLayer) – destination layer

copyPaintEffect(self, destLayer: QgsSymbolLayer)

Copies paint effect of this layer to another symbol layer

Parameters

destLayer (QgsSymbolLayer) – destination layer

New in version 2.9.

dataDefinedProperties(self) → QgsPropertyCollection

Returns a reference to the symbol layer’s property collection, used for data defined overrides.

See also

Property

New in version 3.0.

Return type

QgsPropertyCollection

drawPreviewIcon(self, context: QgsSymbolRenderContext, size: QSize)
Parameters
dxfAngle(self, context: QgsSymbolRenderContext) → float

Gets angle

Parameters

context (QgsSymbolRenderContext) –

Return type

float

dxfBrushColor(self, context: QgsSymbolRenderContext) → QColor

Gets brush/fill color

Parameters

context (QgsSymbolRenderContext) –

Return type

QColor

dxfBrushStyle(self) → Qt.BrushStyle

Gets brush/fill style

Return type

Qt.BrushStyle

dxfColor(self, context: QgsSymbolRenderContext) → QColor

Gets color

Parameters

context (QgsSymbolRenderContext) –

Return type

QColor

dxfCustomDashPattern(self) → Tuple[List[float], QgsUnitTypes.RenderUnit]

Gets dash pattern

Return type

Tuple[List[float], QgsUnitTypes.RenderUnit]

dxfOffset(self, e: QgsDxfExport, context: QgsSymbolRenderContext) → float

Gets offset

Parameters
Return type

float

dxfPenStyle(self) → Qt.PenStyle

Gets pen style

Return type

Qt.PenStyle

dxfWidth(self, e: QgsDxfExport, context: QgsSymbolRenderContext) → float

Gets line width

Parameters
Return type

float

enabled(self) → bool

Returns True if symbol layer is enabled and will be drawn.

See also

setEnabled()

New in version 3.0.

Return type

bool

estimateMaxBleed(self, context: QgsRenderContext) → float

Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when drawn in the specified /a context. For example, polygons drawn with an stroke will draw half the width of the stroke outside of the polygon. This amount is estimated, since it may be affected by data defined symbology rules.*

Parameters

context (QgsRenderContext) –

Return type

float

fillColor(self) → QColor

Gets fill color. Supported by marker and fill layers.

New in version 2.1.

Return type

QColor

hasDataDefinedProperties(self) → bool

Returns True if the symbol layer (or any of its sub-symbols) contains data defined properties.

New in version 3.4.5.

Return type

bool

isCompatibleWithSymbol(self, symbol: QgsSymbol) → bool

Returns if the layer can be used below the specified symbol

Parameters

symbol (QgsSymbol) –

Return type

bool

isLocked(self) → bool
Return type

bool

layerType(self) → str

Returns a string that represents this layer type. Used for serialization. Should match with the string used to register this symbol layer in the registry.

Return type

str

mapUnitScale(self) → QgsMapUnitScale
Return type

QgsMapUnitScale

ogrFeatureStyle(self, mmScaleFactor: float, mapUnitScaleFactor: float) → str
Parameters
  • mmScaleFactor (float) –

  • mapUnitScaleFactor (float) –

Return type

str

outputUnit(self) → QgsUnitTypes.RenderUnit

Returns the units to use for sizes and widths within the symbol layer. Individual symbol layer subclasses will interpret this in different ways, e.g., a marker symbol layer may use it to specify the units for the marker size, while a line symbol layer may use it to specify the units for the line width.

Return type

QgsUnitTypes.RenderUnit

Returns

output unit, or QgsUnitTypes.RenderUnknownUnit if the symbol layer contains mixed units

See also

setOutputUnit()

paintEffect(self) → QgsPaintEffect

Returns the current paint effect for the layer.

Return type

QgsPaintEffect

Returns

paint effect

See also

setPaintEffect()

New in version 2.9.

prepareExpressions(self, context: QgsSymbolRenderContext)

Prepares all data defined property expressions for evaluation. This should be called prior to evaluating data defined properties.

Parameters

context (QgsSymbolRenderContext) – symbol render context

New in version 2.12.

properties(self) → Dict[str, str]

Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer. This is used to serialize a symbol layer perstistently.

Return type

Dict[str, str]

propertyDefinitions() → Dict[int, QgsPropertyDefinition]

Returns the symbol layer property definitions.

New in version 3.0.

Return type

Dict[int, QgsPropertyDefinition]

renderingPass(self) → int

Specifies the rendering pass in which this symbol layer should be rendered. The lower the number, the lower the symbol will be rendered. 0: first pass, 1: second pass, … Defaults to 0

Return type

int

restoreOldDataDefinedProperties(self, stringMap: Dict[str, str])

Restores older data defined properties from string map.

New in version 3.0.

Parameters

stringMap (Dict[str) –

setColor(self, color: Union[QColor, Qt.GlobalColor])

The fill color.

Parameters

color (Union[QColor) –

setDataDefinedProperties(self, collection: QgsPropertyCollection)

Sets the symbol layer’s property collection, used for data defined overrides.

Parameters

collection (QgsPropertyCollection) – property collection. Existing properties will be replaced.

See also

properties()

New in version 3.0.

setDataDefinedProperty(self, key: QgsSymbolLayer.Property, property: QgsProperty)

Sets a data defined property for the layer. Any existing property with the same key will be overwritten.

See also

Property

New in version 3.0.

Parameters
setEnabled(self, enabled: bool)

Sets whether symbol layer is enabled and should be drawn. Disabled layers are not drawn, but remain part of the symbol and can be re-enabled when desired.

See also

enabled()

New in version 3.0.

Parameters

enabled (bool) –

setFillColor(self, color: Union[QColor, Qt.GlobalColor])

Set fill color. Supported by marker and fill layers.

New in version 2.1.

Parameters

color (Union[QColor) –

setLocked(self, locked: bool)
Parameters

locked (bool) –

setMapUnitScale(self, scale: QgsMapUnitScale)
Parameters

scale (QgsMapUnitScale) –

setOutputUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the units to use for sizes and widths within the symbol layer. Individual symbol layer subclasses will interpret this in different ways, e.g., a marker symbol layer may use it to specify the units for the marker size, while a line symbol layer may use it to specify the units for the line width.

Parameters

unit (QgsUnitTypes.RenderUnit) – output units

See also

outputUnit()

setPaintEffect(self, effect: QgsPaintEffect)

Sets the current paint effect for the layer.

Parameters

effect (QgsPaintEffect) – paint effect. Ownership is transferred to the layer.

See also

paintEffect()

New in version 2.9.

setRenderingPass(self, renderingPass: int)

Specifies the rendering pass in which this symbol layer should be rendered. The lower the number, the lower the symbol will be rendered. 0: first pass, 1: second pass, … Defaults to 0

Parameters

renderingPass (int) –

setStrokeColor(self, color: Union[QColor, Qt.GlobalColor])

Set stroke color. Supported by marker and fill layers.

New in version 2.1.

Parameters

color (Union[QColor) –

setSubSymbol(self, symbol: QgsSymbol) → bool

Sets layer’s subsymbol. takes ownership of the passed symbol

Parameters

symbol (QgsSymbol) –

Return type

bool

startRender(self, context: QgsSymbolRenderContext)
Parameters

context (QgsSymbolRenderContext) –

stopRender(self, context: QgsSymbolRenderContext)
Parameters

context (QgsSymbolRenderContext) –

strokeColor(self) → QColor

Gets stroke color. Supported by marker and fill layers.

New in version 2.1.

Return type

QColor

subSymbol(self) → QgsSymbol

Returns the symbol’s sub symbol, if present.

Return type

QgsSymbol

toSld(self, doc: QDomDocument, element: QDomElement, props: Dict[str, str])
Parameters
  • doc (QDomDocument) –

  • element (QDomElement) –

  • props (Dict[str) –

type(self) → QgsSymbol.SymbolType
Return type

QgsSymbol.SymbolType

usedAttributes(self, context: QgsRenderContext) → Set[str]

Returns the set of attributes referenced by the layer. This includes attributes required by any data defined properties associated with the layer.

Parameters

context (QgsRenderContext) –

Return type

Set[str]

writeDxf(self, e: QgsDxfExport, mmMapUnitScaleFactor: float, layerName: str, context: QgsSymbolRenderContext, shift: Union[QPointF, QPoint] = QPointF(0, 0)) → bool

write as DXF

Parameters
Return type

bool