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.

New in version 2.6: Enums

Methods

boxSpace

columnCount

columnSpace

dpi

drawRasterStroke

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

drawText

Draws Text.

equalColumnWidth

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

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

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

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

setColumnCount

setColumnSpace

setDpi

setDrawRasterStroke

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

setEqualColumnWidth

setFontColor

setLayerFontColor

Sets layer font color to fontColor Overrides fontColor()

setLineSpacing

setMapScale

Sets the legend map scale.

setMapUnitsPerPixel

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

setMmPerMapUnit

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

setStyle

setSymbolAlignment

Sets the alignment for placement of legend symbols.

setSymbolSize

setTitle

setTitleAlignment

Sets the alignment of the legend title.

setUseAdvancedEffects

setWmsLegendSize

setWrapChar

splitLayer

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

textWidthMillimeters

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

title

titleAlignment

Returns the alignment of the legend title.

useAdvancedEffects

wmsLegendSize

wrapChar

Signals

Attributes

boxSpace(self) → float
columnCount(self) → int
columnSpace(self) → float
dpi(self) → int
drawRasterStroke(self) → bool

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

New in version 2.12.

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 – painter to use

  • rect – rectangle to draw into

  • text – text to draw

  • font – font to use

  • halignment – optional horizontal alignment

  • valignment – optional vertical alignment

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

equalColumnWidth(self) → 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.

fontAscentMillimeters(self, font: QFont) → float

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

fontColor(self) → QColor
fontDescentMillimeters(self, font: QFont) → float

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

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

Returns the font height of a character in millimeters

layerFontColor(self) → QColor

Returns layer font color, defaults to fontColor()

See also

fontColor()

New in version 3.4.7.

lineSpacing(self) → 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()

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.

mmPerMapUnit(self) → float
pixelFontSize(self, pointSize: float) → float

Calculates font to from point size to pixel size

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.

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.

scaledFontPixelSize(self, font: QFont) → QFont

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

setBoxSpace(self, s: float)
setColumnCount(self, c: int)
setColumnSpace(self, s: float)
setDpi(self, dpi: int)
setDrawRasterStroke(self, enabled: bool)

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

Parameters

enabled – set to True to draw borders

New in version 2.12.

setEqualColumnWidth(self, s: bool)
setFontColor(self, c: Union[QColor, Qt.GlobalColor, QGradient])
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.

setLineSpacing(self, 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()

setMapUnitsPerPixel(self, mapUnitsPerPixel: float)

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

New in version 3.8.

setMmPerMapUnit(self, 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 – 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 – stroke width in millimeters

New in version 2.12.

setSplitLayer(self, s: bool)
setStyle(self, s: QgsLegendStyle.Style, style: QgsLegendStyle)
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.

setSymbolSize(self, s: QSizeF)
setTitle(self, t: str)
setTitleAlignment(self, alignment: Qt.AlignmentFlag)

Sets the alignment of the legend title.

See also

titleAlignment()

setUseAdvancedEffects(self, use: bool)
setWmsLegendSize(self, s: QSizeF)
setWrapChar(self, t: str)
splitLayer(self) → 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

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

Returns style

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.

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

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

title(self) → str
titleAlignment(self) → Qt.AlignmentFlag

Returns the alignment of the legend title.

useAdvancedEffects(self) → bool
wmsLegendSize(self) → QSizeF
wrapChar(self) → str