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.
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]