Class: QgsSymbolLayerId

We may need stable references to symbol layers, when pointers to symbol layers are not usable (when a symbol or a feature renderer is cloned for example).

A symbol layer identifier consists of:

  • an identifier to its symbol (given by the QgsFeatureRenderer)

  • a path of indexes inside its symbol and subsymbols.

For a symbol in a QgsSingleSymbolRenderer that has two symbol layers, it will give:

  • “” for the symbol key

  • [0] and [1] for the two symbol layer indexes

For a QgsRuleBasedRenderer each rule key is the symbol key.

For a symbol with a symbol layer that has a sub symbol (say a QgsArrowSymbolLayer), path to symbol layers of the sub symbol are given by a list of indexes:

  • [0, 0] : first symbol layer of the sub symbol of the first symbol layer

  • [0, 1] : second symbol layer of the sub symbol of the first symbol layer

  • [2, 0] : first symbol layer of the sub symbol of the third symbol layer, etc.

Added in version 3.12.

Deprecated since version 3.30: Replaced by QUuid to identify symbol layers.

List of all members, including inherited members

Methods

symbolKey

Returns the key associated to the symbol

symbolLayerIndexPath

Returns the symbol layer index path inside the symbol

class qgis.core.QgsSymbolLayerId[source]

Bases: object

__init__()
__init__(key: str | None, index: int)

QgsSymbolLayerId constructor with a symbol key and a unique symbol layer index

Parameters:
  • key (Optional[str])

  • index (int)

__init__(key: str | None, indexPath: Iterable[int])

QgsSymbolLayerId constructor with a symbol key and an index path

Parameters:
  • key (Optional[str])

  • indexPath (Iterable[int])

__init__(other: QgsSymbolLayerId)
Parameters:

other (QgsSymbolLayerId)

symbolKey(self) str[source]

Returns the key associated to the symbol

Return type:

str

symbolLayerIndexPath(self) list[int]

Returns the symbol layer index path inside the symbol

Return type:

list[int]