Class: QgsSymbolLayer¶
- class qgis.core.QgsSymbolLayer(type: Qgis.SymbolType, locked: bool = False)¶
Bases:
sip.wrapper
Constructor for QgsSymbolLayer.
- Parameters:
type – specifies the associated symbol type
locked –
if
True
, then symbol layer colors will be locked and will ignore any symbol-level color changes.Methods
Returns
True
if the symbol layer rendering can cause visible artifacts across a single feature when the feature is rendered as a series of adjacent map tiles each containing a portion of the feature's geometry.Shall be reimplemented by subclasses to create a deep copy of the instance.
Returns the "representative" color of the symbol layer.
Copies all data defined properties of this layer to another symbol layer.
Copies paint effect of this layer to another symbol layer
Returns a reference to the symbol layer's property collection, used for data defined overrides.
- param context:
Gets angle
Gets brush/fill color
Gets brush/fill style
Gets color
Gets dash pattern
Gets offset
Gets pen style
Gets line width
Returns
True
if symbol layer is enabled and will be drawn.Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when drawn in the specified /a context.
Returns the fill color for the symbol layer.
Returns flags which control the symbol layer's behavior.
Returns
True
if the symbol layer (or any of its sub-symbols) contains data defined properties.Returns if the layer can be used below the specified symbol
Returns
True
if the symbol layer colors are locked and the layer will ignore any symbol-level color changes.Returns a string that represents this layer type.
- rtype:
QgsMapUnitScale
Returns masks defined by this symbol layer.
- param mmScaleFactor:
Returns the units to use for sizes and widths within the symbol layer.
Returns the current paint effect for the layer.
Prepares all data defined property expressions for evaluation.
Prepares all mask internal objects according to what is defined in
context
This should be called prior to callingstartRender()
method.Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer.
Returns the symbol layer property definitions.
Specifies the rendering pass in which this symbol layer should be rendered.
Restores older data defined properties from string map.
Sets the "representative" color for the symbol layer.
Sets the symbol layer's property collection, used for data defined overrides.
Sets a data defined property for the layer.
Sets whether symbol layer is enabled and should be drawn.
Sets the fill
color
for the symbol layer.Sets whether the layer's colors are locked.
- param scale:
Sets the units to use for sizes and widths within the symbol layer.
Sets the current paint effect for the layer.
Specifies the rendering pass in which this symbol layer should be rendered.
Sets the stroke
color
for the symbol layer.Sets layer's subsymbol.
Called before the layer will be rendered for a particular
feature
.Called before a set of rendering operations commences on the supplied render
context
.Called after the layer has been rendered for a particular
feature
.Called after a set of rendering operations has finished on the supplied render
context
.Returns the stroke color for the symbol layer.
Returns the symbol's sub symbol, if present.
Saves the symbol layer as SLD
- rtype:
Qgis.SymbolType
Returns the set of attributes referenced by the layer.
Returns
True
if the symbol layer has any components which use map unit based sizes.write as DXF
Attributes
- 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¶
- PropertyClipPoints = 55¶
- PropertyCoordinateMode = 18¶
- PropertyCustomDash = 36¶
- PropertyDashPatternOffset = 59¶
- PropertyDensityArea = 56¶
- PropertyDisplacementX = 33¶
- PropertyDisplacementY = 34¶
- PropertyDistanceX = 31¶
- PropertyDistanceY = 32¶
- PropertyFile = 30¶
- PropertyFillColor = 3¶
- PropertyFillStyle = 12¶
- PropertyFontFamily = 57¶
- PropertyFontStyle = 58¶
- 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¶
- PropertyLineClipping = 69¶
- PropertyLineDistance = 16¶
- PropertyLineEndColorValue = 65¶
- PropertyLineEndWidthValue = 63¶
- PropertyLineStartColorValue = 64¶
- PropertyLineStartWidthValue = 62¶
- PropertyMarkerClipping = 66¶
- PropertyName = 2¶
- PropertyOffset = 7¶
- PropertyOffsetAlongLine = 40¶
- PropertyOffsetX = 51¶
- PropertyOffsetY = 52¶
- PropertyOpacity = 35¶
- PropertyPlacement = 38¶
- PropertyPointCount = 53¶
- PropertyPreserveAspectRatio = 11¶
- PropertyRandomOffsetX = 67¶
- PropertyRandomOffsetY = 68¶
- PropertyRandomSeed = 54¶
- PropertySecondaryColor = 14¶
- PropertyShapeburstIgnoreRings = 29¶
- PropertyShapeburstMaxDistance = 28¶
- PropertyShapeburstUseWholeShape = 27¶
- PropertySize = 0¶
- PropertyStrokeColor = 4¶
- PropertyStrokeStyle = 6¶
- PropertyStrokeWidth = 5¶
- PropertyTrimEnd = 61¶
- PropertyTrimStart = 60¶
- PropertyVerticalAnchor = 43¶
- PropertyWidth = 9¶
- canCauseArtifactsBetweenAdjacentTiles(self) bool ¶
Returns
True
if the symbol layer rendering can cause visible artifacts across a single feature when the feature is rendered as a series of adjacent map tiles each containing a portion of the feature’s geometry.The default implementation returns
False
.New in version 3.18.
- Return type:
bool
- clone(self) QgsSymbolLayer ¶
Shall be reimplemented by subclasses to create a deep copy of the instance.
- Return type:
- color(self) QColor ¶
Returns the “representative” color of the symbol layer.
Depending on the symbol layer type, this will have different meaning. For instance, a line symbol layer will generally return the stroke color of the layer, while a fill symbol layer will return the “fill” color instead of stroke.
Some symbol layer types will return an invalid QColor if they have no representative color associated (e.g. raster image based symbol layers).
See also
See also
See also
- 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
See also
Property
New in version 3.0.
- Return type:
- drawPreviewIcon(self, context: QgsSymbolRenderContext, size: QSize)¶
- Parameters:
context (QgsSymbolRenderContext) –
size (QSize) –
- 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:
e (QgsDxfExport) –
context (QgsSymbolRenderContext) –
- 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:
e (QgsDxfExport) –
context (QgsSymbolRenderContext) –
- Return type:
float
- enabled(self) bool ¶
Returns
True
if symbol layer is enabled and will be drawn.See also
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 ¶
Returns the fill color for the symbol layer.
This property is not supported by all symbol layer types, only those with a fill component. Symbol layers without a fill component will return an invalid QColor.
See also
See also
See also
New in version 2.1.
- Return type:
QColor
- flags(self) Qgis.SymbolLayerFlags ¶
Returns flags which control the symbol layer’s behavior.
New in version 3.22.
- Return type:
- 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 ¶
Returns
True
if the symbol layer colors are locked and the layer will ignore any symbol-level color changes.See also
- 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:
- masks(self) List[QgsSymbolLayerReference] ¶
Returns masks defined by this symbol layer. This is a list of symbol layers of other layers that should be occluded.
New in version 3.12.
- Return type:
List[QgsSymbolLayerReference]
- 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:
- Returns:
output unit, or
QgsUnitTypes
.RenderUnknownUnit if the symbol layer contains mixed units
See also
- paintEffect(self) QgsPaintEffect ¶
Returns the current paint effect for the layer.
- Return type:
- Returns:
paint effect
See also
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.
- prepareMasks(self, context: QgsSymbolRenderContext)¶
Prepares all mask internal objects according to what is defined in
context
This should be called prior to callingstartRender()
method.New in version 3.26.
- Parameters:
context (QgsSymbolRenderContext) –
- properties(self) Dict[str, Any] ¶
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, Any]
- 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, Any])¶
Restores older data defined properties from string map.
New in version 3.0.
- Parameters:
stringMap (Dict[str) –
- setColor(self, color: QColor | Qt.GlobalColor | QGradient)¶
Sets the “representative” color for the symbol layer.
Depending on the symbol layer type, this will have different meaning. For instance, a line symbol layer will generally set the stroke color of the layer, while a fill symbol layer will set the “fill” color instead of stroke.
See also
See also
See also
- 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
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
See also
Property
New in version 3.0.
- Parameters:
key (QgsSymbolLayer.Property) –
property (QgsProperty) –
- 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
New in version 3.0.
- Parameters:
enabled (bool) –
- setFillColor(self, color: QColor | Qt.GlobalColor | QGradient)¶
Sets the fill
color
for the symbol layer.This property is not supported by all symbol layer types, only those with a fill component.
See also
See also
See also
New in version 2.1.
- Parameters:
color (Union[QColor) –
- setLocked(self, locked: bool)¶
Sets whether the layer’s colors are locked.
If
locked
isTrue
then the symbol layer colors are locked and the layer will ignore any symbol-level color changes.See also
- 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
- 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
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: QColor | Qt.GlobalColor | QGradient)¶
Sets the stroke
color
for the symbol layer.This property is not supported by all symbol layer types, only those with a stroke component.
See also
See also
See also
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
- startFeatureRender(self, feature: QgsFeature, context: QgsRenderContext)¶
Called before the layer will be rendered for a particular
feature
.This is always followed by a call to
stopFeatureRender()
after the feature has been completely rendered (i.e. all parts have been rendered).The default implementation does nothing.
Note
In some circumstances,
startFeatureRender()
andstopFeatureRender()
may not be called before a symbol layer is rendered. E.g., when a symbol layer is being rendered in isolation and not as a result of rendering a feature (for instance, when rendering a legend patch or other non-feature based shape).See also
See also
New in version 3.12.
- Parameters:
feature (QgsFeature) –
context (QgsRenderContext) –
- startRender(self, context: QgsSymbolRenderContext)¶
Called before a set of rendering operations commences on the supplied render
context
.This is always followed by a call to
stopRender()
after all rendering operations have been completed.Subclasses can use this method to prepare for a set of rendering operations, e.g. by pre-evaluating paths or images to render, and performing other one-time optimisations.
See also
See also
- Parameters:
context (QgsSymbolRenderContext) –
- stopFeatureRender(self, feature: QgsFeature, context: QgsRenderContext)¶
Called after the layer has been rendered for a particular
feature
.This is always preceded by a call to
startFeatureRender()
just before the feature will be rendered.The default implementation does nothing.
Note
In some circumstances,
startFeatureRender()
andstopFeatureRender()
may not be called before a symbol layer is rendered. E.g., when a symbol layer is being rendered in isolation and not as a result of rendering a feature (for instance, when rendering a legend patch or other non-feature based shape).See also
See also
New in version 3.12.
- Parameters:
feature (QgsFeature) –
context (QgsRenderContext) –
- stopRender(self, context: QgsSymbolRenderContext)¶
Called after a set of rendering operations has finished on the supplied render
context
.This is always preceded by a call to
startRender()
before all rendering operations are commenced.Subclasses can use this method to cleanup after a set of rendering operations.
See also
See also
- Parameters:
context (QgsSymbolRenderContext) –
- strokeColor(self) QColor ¶
Returns the stroke color for the symbol layer.
This property is not supported by all symbol layer types, only those with a stroke component. Symbol layers without a stroke component will return an invalid QColor.
See also
See also
See also
New in version 2.1.
- Return type:
QColor
- toSld(self, doc: QDomDocument, element: QDomElement, props: Dict[str, Any])¶
Saves the symbol layer as SLD
- Parameters:
doc (QDomDocument) –
element (QDomElement) –
props (Dict[str) –
- type(self) Qgis.SymbolType ¶
- Return type:
- 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]
- usesMapUnits(self) bool ¶
Returns
True
if the symbol layer has any components which use map unit based sizes.New in version 3.18.
- Return type:
bool
- writeDxf(self, e: QgsDxfExport, mmMapUnitScaleFactor: float, layerName: str, context: QgsSymbolRenderContext, shift: QPointF | QPoint = QPointF(0, 0)) bool ¶
write as DXF
- Parameters:
e (QgsDxfExport) –
mmMapUnitScaleFactor (float) –
layerName (str) –
context (QgsSymbolRenderContext) –
shift (Union[QPointF) –
- Return type:
bool