Class: QgsLegendSettings

class qgis.core.QgsLegendSettings

Bases: sip.wrapper

The QgsLegendSettings class stores the appearance and layout settings for legend drawing with QgsLegendRenderer. The content of the legend is given in QgsLegendModel class.

Methods

boxSpace

rtype

float

columnCount

rtype

int

columnSpace

rtype

float

dpi

rtype

int

drawRasterStroke

Returns whether a stroke will be drawn around raster symbol items.

drawText

Draws Text.

equalColumnWidth

rtype

bool

evaluateItemText

Returns the actual text to render for a legend item, split into separate lines.

fontAscentMillimeters

Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE

fontColor

rtype

QColor

fontDescentMillimeters

Returns the font descent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE

fontHeightCharacterMM

Returns the font height of a character in millimeters

layerFontColor

Returns layer font color, defaults to fontColor()

lineSpacing

rtype

float

mapScale

Returns the legend map scale.

mapUnitsPerPixel

Returns the factor of map units per pixel for symbols with size given in map units calculated by dpi and mmPerMapUnit

mmPerMapUnit

rtype

float

pixelFontSize

Calculates font to from point size to pixel size

rasterStrokeColor

Returns the stroke color for the stroke drawn around raster symbol items.

rasterStrokeWidth

Returns the stroke width (in millimeters) for the stroke drawn around raster symbol items.

scaledFontPixelSize

Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE

setBoxSpace

param s

setColumnCount

param c

setColumnSpace

param s

setDpi

param dpi

setDrawRasterStroke

Sets whether a stroke will be drawn around raster symbol items.

setEqualColumnWidth

param s

setFontColor

param c

setLayerFontColor

Sets layer font color to fontColor Overrides fontColor()

setLineSpacing

param s

setMapScale

Sets the legend map scale.

setMapUnitsPerPixel

Sets the mmPerMapUnit calculated by mapUnitsPerPixel mostly taken from the map settings.

setMmPerMapUnit

param mmPerMapUnit

setRasterStrokeColor

Sets the stroke color for the stroke drawn around raster symbol items.

setRasterStrokeWidth

Sets the stroke width for the stroke drawn around raster symbol items.

setSplitLayer

param s

setStyle

param s

setSymbolAlignment

Sets the alignment for placement of legend symbols.

setSymbolSize

param s

setTitle

param t

setTitleAlignment

Sets the alignment of the legend title.

setUseAdvancedEffects

param use

setWmsLegendSize

param s

setWrapChar

param t

splitLayer

rtype

bool

splitStringForWrapping

Splits a string using the wrap char taking into account handling empty wrap char which means no wrapping

style

Returns style

symbolAlignment

Returns the alignment for placement of legend symbols.

symbolSize

rtype

QSizeF

textWidthMillimeters

Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE

title

rtype

str

titleAlignment

Returns the alignment of the legend title.

useAdvancedEffects

rtype

bool

wmsLegendSize

rtype

QSizeF

wrapChar

rtype

str

boxSpace(self) → float
Return type

float

columnCount(self) → int
Return type

int

columnSpace(self) → float
Return type

float

dpi(self) → int
Return type

int

drawRasterStroke(self) → bool

Returns whether a stroke will be drawn around raster symbol items.

New in version 2.12.

Return type

bool

drawText(self, p: QPainter, x: float, y: float, text: str, font: QFont)

Draws Text. Takes care about all the composer specific issues (calculation to pixel, scaling of font and painter to work around the Qt font bug)

drawText(self, p: QPainter, rect: QRectF, text: str, font: QFont, halignment: Qt.AlignmentFlag = Qt.AlignLeft, valignment: Qt.AlignmentFlag = Qt.AlignTop, flags: int = Qt.TextWordWrap) Like the above, but with a rectangle for multiline text

Parameters
  • p (QPainter) – painter to use

  • rect – rectangle to draw into

  • text (str) – text to draw

  • font (QFont) – font to use

  • halignment – optional horizontal alignment

  • valignment – optional vertical alignment

  • flags – allows for passing Qt.TextFlags to control appearance of rendered text

  • x (float) –

  • y (float) –

equalColumnWidth(self) → bool
Return type

bool

evaluateItemText(self, text: str, context: QgsExpressionContext) → List[str]

Returns the actual text to render for a legend item, split into separate lines.

The expression context argument is used to correctly evaluated expressions contained within legend item text.

New in version 3.6.

Parameters
Return type

List[str]

fontAscentMillimeters(self, font: QFont) → float

Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE

Parameters

font (QFont) –

Return type

float

fontColor(self) → QColor
Return type

QColor

fontDescentMillimeters(self, font: QFont) → float

Returns the font descent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE

Parameters

font (QFont) –

Return type

float

fontHeightCharacterMM(self, font: QFont, c: str) → float

Returns the font height of a character in millimeters

Parameters
  • font (QFont) –

  • c (str) –

Return type

float

layerFontColor(self) → QColor

Returns layer font color, defaults to fontColor()

See also

fontColor()

New in version 3.4.7.

Return type

QColor

lineSpacing(self) → float
Return type

float

mapScale(self) → float

Returns the legend map scale. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

See also

setMapScale()

Return type

float

mapUnitsPerPixel(self) → float

Returns the factor of map units per pixel for symbols with size given in map units calculated by dpi and mmPerMapUnit

New in version 3.8.

Return type

float

mmPerMapUnit(self) → float
Return type

float

pixelFontSize(self, pointSize: float) → float

Calculates font to from point size to pixel size

Parameters

pointSize (float) –

Return type

float

rasterStrokeColor(self) → QColor

Returns the stroke color for the stroke drawn around raster symbol items. The stroke is only drawn if drawRasterStroke() is True.

New in version 2.12.

Return type

QColor

rasterStrokeWidth(self) → float

Returns the stroke width (in millimeters) for the stroke drawn around raster symbol items. The stroke is only drawn if drawRasterStroke() is True.

New in version 2.12.

Return type

float

scaledFontPixelSize(self, font: QFont) → QFont

Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE

Parameters

font (QFont) –

Return type

QFont

setBoxSpace(self, s: float)
Parameters

s (float) –

setColumnCount(self, c: int)
Parameters

c (int) –

setColumnSpace(self, s: float)
Parameters

s (float) –

setDpi(self, dpi: int)
Parameters

dpi (int) –

setDrawRasterStroke(self, enabled: bool)

Sets whether a stroke will be drawn around raster symbol items.

Parameters

enabled (bool) – set to True to draw borders

New in version 2.12.

setEqualColumnWidth(self, s: bool)
Parameters

s (bool) –

setFontColor(self, c: Union[QColor, Qt.GlobalColor, QGradient])
Parameters

c (Union[QColor) –

setLayerFontColor(self, fontColor: Union[QColor, Qt.GlobalColor, QGradient])

Sets layer font color to fontColor Overrides fontColor()

See also

layerFontColor()

See also

fontColor()

New in version 3.4.7.

Parameters

fontColor (Union[QColor) –

setLineSpacing(self, s: float)
Parameters

s (float) –

setMapScale(self, scale: float)

Sets the legend map scale. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

See also

mapScale()

Parameters

scale (float) –

setMapUnitsPerPixel(self, mapUnitsPerPixel: float)

Sets the mmPerMapUnit calculated by mapUnitsPerPixel mostly taken from the map settings.

New in version 3.8.

Parameters

mapUnitsPerPixel (float) –

setMmPerMapUnit(self, mmPerMapUnit: float)
Parameters

mmPerMapUnit (float) –

setRasterStrokeColor(self, color: Union[QColor, Qt.GlobalColor, QGradient])

Sets the stroke color for the stroke drawn around raster symbol items. The stroke is only drawn if drawRasterStroke() is True.

Parameters

color (Union[QColor) – stroke color

New in version 2.12.

setRasterStrokeWidth(self, width: float)

Sets the stroke width for the stroke drawn around raster symbol items. The stroke is only drawn if drawRasterStroke() is True.

Parameters

width (float) – stroke width in millimeters

New in version 2.12.

setSplitLayer(self, s: bool)
Parameters

s (bool) –

setStyle(self, s: QgsLegendStyle.Style, style: QgsLegendStyle)
Parameters
setSymbolAlignment(self, alignment: Qt.AlignmentFlag)

Sets the alignment for placement of legend symbols.

Only Qt.AlignLeft or Qt.AlignRight are supported values.

New in version 3.10.

Parameters

alignment (Qt.AlignmentFlag) –

setSymbolSize(self, s: QSizeF)
Parameters

s (QSizeF) –

setTitle(self, t: str)
Parameters

t (str) –

setTitleAlignment(self, alignment: Qt.AlignmentFlag)

Sets the alignment of the legend title.

See also

titleAlignment()

Parameters

alignment (Qt.AlignmentFlag) –

setUseAdvancedEffects(self, use: bool)
Parameters

use (bool) –

setWmsLegendSize(self, s: QSizeF)
Parameters

s (QSizeF) –

setWrapChar(self, t: str)
Parameters

t (str) –

splitLayer(self) → bool
Return type

bool

splitStringForWrapping(self, stringToSplt: str) → List[str]

Splits a string using the wrap char taking into account handling empty wrap char which means no wrapping

Parameters

stringToSplt (str) –

Return type

List[str]

style(self, s: QgsLegendStyle.Style) → QgsLegendStyle

Returns style

Parameters

s (QgsLegendStyle.Style) –

Return type

QgsLegendStyle

symbolAlignment(self) → Qt.AlignmentFlag

Returns the alignment for placement of legend symbols.

Only Qt.AlignLeft or Qt.AlignRight are supported values.

New in version 3.10.

Return type

Qt.AlignmentFlag

symbolSize(self) → QSizeF
Return type

QSizeF

textWidthMillimeters(self, font: QFont, text: str) → float

Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE

Parameters
  • font (QFont) –

  • text (str) –

Return type

float

title(self) → str
Return type

str

titleAlignment(self) → Qt.AlignmentFlag

Returns the alignment of the legend title.

Return type

Qt.AlignmentFlag

useAdvancedEffects(self) → bool
Return type

bool

wmsLegendSize(self) → QSizeF
Return type

QSizeF

wrapChar(self) → str
Return type

str