Class: QgsDataDefinedSizeLegend

Object that keeps configuration of appearance of marker symbol’s data-defined size in legend.

For example: the list of classes (size values), whether the classes should appear in separate legend nodes or whether to collapse them into one legend node.

class qgis.core.QgsDataDefinedSizeLegend[source]

Bases: object

__init__()

Constructor for QgsDataDefinedSizeLegend.

__init__(other: QgsDataDefinedSizeLegend)
Parameters:

other (QgsDataDefinedSizeLegend)

AlignBottom = 1
AlignCenter = 0
LegendCollapsed = 1
LegendSeparated = 0
class LegendType

Bases: int

class SizeClass

Bases: object

Definition of one class for the legend

label: str
size: float
class VerticalAlignment

Bases: int

classes(self) List[QgsDataDefinedSizeLegend.SizeClass]

Returns list of classes: each class is a pair of symbol size (in units used by the symbol) and label

Return type:

List[QgsDataDefinedSizeLegend.SizeClass]

collapsedLegendImage(self, context: QgsRenderContext, backgroundColor: QColor | Qt.GlobalColor = Qt.transparent, paddingMM: float = 1) QImage[source]

Returns output image that would be shown in the legend. Returns invalid image if legend is not configured as collapsed.

Parameters:
  • context (QgsRenderContext)

  • backgroundColor (Union[QColor, Qt.GlobalColor] = Qt.transparent)

  • paddingMM (float = 1)

Return type:

QImage

drawCollapsedLegend(self, context: QgsRenderContext)[source]

Draw the legend if using LegendOneNodeForAll and optionally output size of the legend and x offset of labels (in painter units). If the painter in context is None, it only does size calculation without actual rendering. Does nothing if legend is not configured as collapsed.

Parameters:

context (QgsRenderContext) -> (Optional[QSizeF])

font(self) QFont[source]

Returns font used for rendering of labels - only valid for collapsed legend

Return type:

QFont

legendSymbolList(self) List[QgsLegendSymbolItem][source]

Generates legend symbol items according to the configuration

Return type:

List[QgsLegendSymbolItem]

legendType(self) QgsDataDefinedSizeLegend.LegendType[source]

Returns how the legend should be rendered

Return type:

QgsDataDefinedSizeLegend.LegendType

lineSymbol(self) QgsLineSymbol | None[source]

Returns the line symbol that will be used to draw callout lines in legend.

See also

setLineSymbol()

Added in version 3.14.

Return type:

Optional[QgsLineSymbol]

static readXml(elem: QDomElement, context: QgsReadWriteContext) QgsDataDefinedSizeLegend | None[source]

Creates instance from given element and returns it (caller takes ownership). Returns None on error.

Parameters:
Return type:

Optional[QgsDataDefinedSizeLegend]

setClasses(self, classes: Iterable[QgsDataDefinedSizeLegend.SizeClass])[source]

Sets list of classes: each class is a pair of symbol size (in units used by the symbol) and label

Parameters:

classes (Iterable[QgsDataDefinedSizeLegend.SizeClass])

setFont(self, font: QFont)[source]

Sets font used for rendering of labels - only valid for collapsed legend

Parameters:

font (QFont)

setLegendType(self, type: QgsDataDefinedSizeLegend.LegendType)[source]

Sets how the legend should be rendered

Parameters:

type (QgsDataDefinedSizeLegend.LegendType)

setLineSymbol(self, symbol: QgsLineSymbol | None)[source]

Sets the line symbol that will be used to draw callout lines in legend.

Ownership of symbol is transferred.

See also

lineSymbol()

Added in version 3.14.

Parameters:

symbol (Optional[QgsLineSymbol])

setSizeScaleTransformer(self, transformer: QgsSizeScaleTransformer | None)[source]

Sets transformer for scaling of symbol sizes. Takes ownership of the object. Accepts None to set no transformer.

Parameters:

transformer (Optional[QgsSizeScaleTransformer])

setSymbol(self, symbol: QgsMarkerSymbol | None)[source]

Sets marker symbol that will be used to draw markers in legend

Parameters:

symbol (Optional[QgsMarkerSymbol])

setTextAlignment(self, flag: Qt.AlignmentFlag)[source]

Sets horizontal text alignment for rendering of labels - only valid for collapsed legend

Parameters:

flag (Qt.AlignmentFlag)

setTextColor(self, color: QColor | Qt.GlobalColor)[source]

Sets text color for rendering of labels - only valid for collapsed legend

Parameters:

color (Union[QColor, Qt.GlobalColor])

setTitle(self, title: str | None)[source]

Sets title label for data-defined size legend

Parameters:

title (Optional[str])

setVerticalAlignment(self, vAlign: QgsDataDefinedSizeLegend.VerticalAlignment)[source]

Sets vertical alignment of symbols - only valid for collapsed legend

Parameters:

vAlign (QgsDataDefinedSizeLegend.VerticalAlignment)

sizeScaleTransformer(self) QgsSizeScaleTransformer | None[source]

Returns transformer for scaling of symbol sizes. Returns None if no transformer is defined.

Return type:

Optional[QgsSizeScaleTransformer]

symbol(self) QgsMarkerSymbol | None[source]

Returns marker symbol that will be used to draw markers in legend

Return type:

Optional[QgsMarkerSymbol]

textAlignment(self) Qt.AlignmentFlag[source]

Returns horizontal text alignment for rendering of labels - only valid for collapsed legend

Return type:

Qt.AlignmentFlag

textColor(self) QColor[source]

Returns text color for rendering of labels - only valid for collapsed legend

Return type:

QColor

title(self) str[source]

Returns title label for data-defined size legend

Return type:

str

updateFromSymbolAndProperty(self, symbol: QgsMarkerSymbol | None, ddSize: QgsProperty)[source]

Updates the list of classes, source symbol and title label from given symbol and property

Parameters:
verticalAlignment(self) QgsDataDefinedSizeLegend.VerticalAlignment[source]

Returns vertical alignment of symbols - only valid for collapsed legend

Return type:

QgsDataDefinedSizeLegend.VerticalAlignment

writeXml(self, elem: QDomElement, context: QgsReadWriteContext)[source]

Writes configuration to the given XML element.

Parameters: