Class: QgsSymbolLayerId¶
We may need stable references to symbol layers, when pointers to symbol layers is 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.
Methods
Returns the key associated to the symbol  | 
|
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)
- symbolLayerIndexPath(self) List[int]¶
 Returns the symbol layer index path inside the symbol
- Return type:
 List[int]