Class: QgsScaleBarRenderer¶
- class qgis.core.QgsScaleBarRenderer¶
Bases:
sip.wrapper
Constructor for QgsScaleBarRenderer.
QgsScaleBarRenderer(
QgsScaleBarRenderer
)Abstract base class for scale bar renderers.
Scalebar renderer subclasses implement custom drawing logic, with the possibility to implement custom labeling.
New in version 3.0:
Enums
Bases:
enum.IntEnum
Methods
Applies any default settings relating to the scalebar to the passed
settings
object.Calculates the required box size (in millimeters) for a scalebar using the specified
settings
andscaleContext
.Returns a clone of the renderer.
Draws the scalebar using the specified
settings
andscaleContext
to a destination rendercontext
.Draws default scalebar labels using the specified
settings
andscaleContext
to a destination rendercontext
.Returns the text used for the first label in the scalebar.
Returns the x-offset (in millimeters) used for the first label in the scalebar.
Returns the scalebar rendering flags, which dictates the renderer's behavior.
Returns the unique ID for this renderer.
Returns the unique name for this style.
Returns a list of positions for each segment within the scalebar.
Returns a list of widths of each segment of the scalebar.
Returns a sorting key value, where renderers with a lower sort key will be shown earlier in lists.
Returns the user friendly, translated name for the renderer.
- class Flag(value)¶
Bases:
enum.IntEnum
Flags which control scalebar renderer behavior.
New in version 3.14.
FlagUsesLineSymbol
: Renderer utilizes the scalebar line symbol (see QgsScaleBarSettings::lineSymbol() )FlagUsesFillSymbol
: Renderer utilizes the scalebar fill symbol (see QgsScaleBarSettings::fillSymbol() )FlagUsesAlternateFillSymbol
: Renderer utilizes the alternate scalebar fill symbol (see QgsScaleBarSettings::alternateFillSymbol() )FlagRespectsUnits
: Renderer respects the QgsScaleBarSettings::units() settingFlagRespectsMapUnitsPerScaleBarUnit
: Renderer respects the QgsScaleBarSettings::mapUnitsPerScaleBarUnit() settingFlagUsesUnitLabel
: Renderer uses the QgsScaleBarSettings::unitLabel() settingFlagUsesSegments
: Renderer uses the scalebar segmentsFlagUsesLabelBarSpace
: Renderer uses the QgsScaleBarSettings::labelBarSpace() settingFlagUsesLabelVerticalPlacement
: Renderer uses the QgsScaleBarSettings::labelHorizontalPlacement() settingFlagUsesLabelHorizontalPlacement
: Renderer uses the QgsScaleBarSettings::labelHorizontalPlacement() settingFlagUsesAlignment
: Renderer uses the QgsScaleBarSettings::alignment() settingFlagUsesSubdivisions
: Renderer uses the scalebar subdivisions (see QgsScaleBarSettings::numberOfSubdivisions() )FlagUsesDivisionSymbol
: Renderer utilizes the scalebar division symbol (see QgsScaleBarSettings::divisionLineSymbol() )FlagUsesSubdivisionSymbol
: Renderer utilizes the scalebar subdivision symbol (see QgsScaleBarSettings::subdivisionLineSymbol() )FlagUsesSubdivisionsHeight
: Renderer uses the scalebar subdivisions height (see QgsScaleBarSettings::subdivisionsHeight() )
- FlagRespectsMapUnitsPerScaleBarUnit = 16¶
- FlagRespectsUnits = 8¶
- FlagUsesAlignment = 512¶
- FlagUsesAlternateFillSymbol = 4¶
- FlagUsesDivisionSymbol = 2048¶
- FlagUsesFillSymbol = 2¶
- FlagUsesLabelBarSpace = 128¶
- FlagUsesLabelHorizontalPlacement = 256¶
- FlagUsesLabelVerticalPlacement = 256¶
- FlagUsesLineSymbol = 1¶
- FlagUsesSegments = 64¶
- FlagUsesSubdivisionSymbol = 4096¶
- FlagUsesSubdivisions = 1024¶
- FlagUsesSubdivisionsHeight = 8192¶
- FlagUsesUnitLabel = 32¶
- class Flags¶
- class Flags(Union[QgsScaleBarRenderer.Flags, QgsScaleBarRenderer.Flag]) None
- class Flags(QgsScaleBarRenderer.Flags) None
Bases:
sip.wrapper
- class ScaleBarContext¶
- class ScaleBarContext(QgsScaleBarRenderer.ScaleBarContext) None
Bases:
sip.wrapper
- flags¶
- scale¶
- segmentWidth¶
- size¶
- applyDefaultSettings(self, settings: QgsScaleBarSettings) bool ¶
Applies any default settings relating to the scalebar to the passed
settings
object.Returns
True
if settings were applied.New in version 3.14.
- Parameters
settings (QgsScaleBarSettings) –
- Return type
bool
- calculateBoxSize(self, settings: QgsScaleBarSettings, scaleContext: QgsScaleBarRenderer.ScaleBarContext) QSizeF ¶
Calculates the required box size (in millimeters) for a scalebar using the specified
settings
andscaleContext
.Deprecated since version Use: the version with a
QgsRenderContext
instead.calculateBoxSize(self, context:
QgsRenderContext
, settings:QgsScaleBarSettings
, scaleContext: QgsScaleBarRenderer.ScaleBarContext) -> QSizeF Calculates the required box size (in millimeters) for a scalebar using the specifiedsettings
andscaleContext
.New in version 3.14.
- Parameters
settings (QgsScaleBarSettings) –
scaleContext (QgsScaleBarRenderer.ScaleBarContext) –
- Return type
QSizeF
- clone(self) QgsScaleBarRenderer ¶
Returns a clone of the renderer. The caller takes ownership of the returned value.
- Return type
- draw(self, context: QgsRenderContext, settings: QgsScaleBarSettings, scaleContext: QgsScaleBarRenderer.ScaleBarContext)¶
Draws the scalebar using the specified
settings
andscaleContext
to a destination rendercontext
.- Parameters
context (QgsRenderContext) –
settings (QgsScaleBarSettings) –
scaleContext (QgsScaleBarRenderer.ScaleBarContext) –
- drawDefaultLabels(self, context: QgsRenderContext, settings: QgsScaleBarSettings, scaleContext: QgsScaleBarRenderer.ScaleBarContext)¶
Draws default scalebar labels using the specified
settings
andscaleContext
to a destination rendercontext
.- Parameters
context (QgsRenderContext) –
settings (QgsScaleBarSettings) –
scaleContext (QgsScaleBarRenderer.ScaleBarContext) –
- firstLabelString(self, settings: QgsScaleBarSettings) str ¶
Returns the text used for the first label in the scalebar.
- Parameters
settings (QgsScaleBarSettings) –
- Return type
str
- firstLabelXOffset(self, settings: QgsScaleBarSettings) float ¶
Returns the x-offset (in millimeters) used for the first label in the scalebar.
Deprecated since version Use: the version with
QgsRenderContext
instead.firstLabelXOffset(self, settings:
QgsScaleBarSettings
, context:QgsRenderContext
, scaleContext: QgsScaleBarRenderer.ScaleBarContext) -> float Returns the x-offset (in render context painter units) used for the first label in the scalebar.New in version 3.2.
- Parameters
settings (QgsScaleBarSettings) –
- Return type
float
- flags(self) QgsScaleBarRenderer.Flags ¶
Returns the scalebar rendering flags, which dictates the renderer’s behavior.
New in version 3.14.
- Return type
- id(self) str ¶
Returns the unique ID for this renderer.
New in version 3.14.
- Return type
str
- name(self) str ¶
Returns the unique name for this style.
Deprecated since version use: id() instead
- Return type
str
- segmentPositions(self, scaleContext: QgsScaleBarRenderer.ScaleBarContext, settings: QgsScaleBarSettings) List[float] ¶
Returns a list of positions for each segment within the scalebar.
Deprecated since version use: the version with a
QgsRenderContext
insteadsegmentPositions(self, context:
QgsRenderContext
, scaleContext: QgsScaleBarRenderer.ScaleBarContext, settings:QgsScaleBarSettings
) -> List[float] Returns a list of positions for each segment within the scalebar.New in version 3.14.
- Parameters
scaleContext (QgsScaleBarRenderer.ScaleBarContext) –
settings (QgsScaleBarSettings) –
- Return type
List[float]
- segmentWidths(self, scaleContext: QgsScaleBarRenderer.ScaleBarContext, settings: QgsScaleBarSettings) List[float] ¶
Returns a list of widths of each segment of the scalebar.
- Parameters
scaleContext (QgsScaleBarRenderer.ScaleBarContext) –
settings (QgsScaleBarSettings) –
- Return type
List[float]
- sortKey(self) int ¶
Returns a sorting key value, where renderers with a lower sort key will be shown earlier in lists.
Generally, subclasses should return
QgsScaleBarRenderer.sortKey()
as their sorting key.- Return type
int
- visibleName(self) str ¶
Returns the user friendly, translated name for the renderer.
New in version 3.14.
- Return type
str