Class: QgsMapLayerLegendUtils

Miscellaneous utility functions for handling of map layer legend.

class qgis.core.QgsMapLayerLegendUtils[source]

Bases: object

static applyLayerNodeProperties(nodeLayer: QgsLayerTreeLayer | None, nodes: Iterable[QgsLayerTreeModelLegendNode])[source]

update according to layer node’s custom properties (order of items, user labels for items)

Parameters:
static hasLegendNodeOrder(nodeLayer: QgsLayerTreeLayer | None) bool[source]
Parameters:

nodeLayer (Optional[QgsLayerTreeLayer])

Return type:

bool

static hasLegendNodeUserLabel(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int) bool[source]
Parameters:
Return type:

bool

static legendNodeColorRampSettings(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int) QgsColorRampLegendNodeSettings | None[source]

Returns the custom legend color ramp settings for the legend node belonging to nodeLayer at the specified originalIndex.

If the corresponding legend node is not a QgsColorRampLegendNode then calling this method will return None.

If the returned value is non-None, they will be used in place of the default settings when rendering the legend node.

Caller takes ownership of the returned settings.

Added in version 3.18.

Parameters:
Return type:

Optional[QgsColorRampLegendNodeSettings]

static legendNodeColumnBreak(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int) bool[source]

Returns whether a forced column break should occur before the node.

Added in version 3.14.

Parameters:
Return type:

bool

static legendNodeCustomSymbol(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int) QgsSymbol | None

Returns the custom legend symbol for the legend node belonging to nodeLayer at the specified originalIndex.

If the symbol is non-None, it will be used in place of the default symbol when rendering the legend node.

Caller takes ownership of the returned symbol.

Added in version 3.14.

Parameters:
Return type:

Optional[QgsSymbol]

static legendNodeOrder(nodeLayer: QgsLayerTreeLayer | None) List[int]
Parameters:

nodeLayer (Optional[QgsLayerTreeLayer])

Return type:

List[int]

static legendNodePatchShape(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int) QgsLegendPatchShape[source]

Returns the legend patch shape for the legend node belonging to nodeLayer at the specified originalIndex.

Added in version 3.14.

Parameters:
Return type:

QgsLegendPatchShape

static legendNodeSymbolSize(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int) QSizeF[source]

Returns the legend node symbol size for the legend node belonging to nodeLayer at the specified originalIndex.

If either the width or height are non-zero, they will be used when rendering the legend node instead of the default symbol width or height from QgsLegendSettings.

Added in version 3.14.

Parameters:
Return type:

QSizeF

static legendNodeUserLabel(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int) str[source]
Parameters:
Return type:

str

static setLegendNodeColorRampSettings(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int, settings: QgsColorRampLegendNodeSettings | None)[source]

Sets a custom legend color ramp settings for the legend node belonging to nodeLayer at the specified originalIndex.

If the corresponding legend node is not a QgsColorRampLegendNode then calling this method will have no effect.

If settings is non-None, they will be used in place of the default settigns when rendering the legend node.

Added in version 3.18.

Parameters:
static setLegendNodeColumnBreak(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int, columnBreakBeforeNode: bool)[source]

Sets whether a forced column break should occur before the node.

Added in version 3.14.

Parameters:
  • nodeLayer (Optional[QgsLayerTreeLayer])

  • originalIndex (int)

  • columnBreakBeforeNode (bool)

static setLegendNodeCustomSymbol(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int, symbol: QgsSymbol | None)[source]

Sets a custom legend symbol for the legend node belonging to nodeLayer at the specified originalIndex.

If symbol is non-None, it will be used in place of the default symbol when rendering the legend node.

Added in version 3.14.

Parameters:
static setLegendNodeOrder(nodeLayer: QgsLayerTreeLayer | None, order: Iterable[int])[source]
Parameters:
static setLegendNodePatchShape(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int, shape: QgsLegendPatchShape)[source]

Sets the legend patch shape for the legend node belonging to nodeLayer at the specified originalIndex.

Added in version 3.14.

Parameters:
static setLegendNodeSymbolSize(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int, size: QSizeF)[source]

Sets the legend symbol size for the legend node belonging to nodeLayer at the specified originalIndex.

If either the width or height are non-zero, they will be used when rendering the legend node instead of the default symbol width or height from QgsLegendSettings.

Added in version 3.14.

Parameters:
static setLegendNodeUserLabel(nodeLayer: QgsLayerTreeLayer | None, originalIndex: int, newLabel: str | None)[source]
Parameters:
  • nodeLayer (Optional[QgsLayerTreeLayer])

  • originalIndex (int)

  • newLabel (Optional[str])