Class: QgsLayoutItemScaleBar

class qgis.core.QgsLayoutItemScaleBar(layout: QgsLayout)

Bases: qgis._core.QgsLayoutItem

Constructor for QgsLayoutItemScaleBar, with the specified parent layout.

A layout item subclass for scale bars.

New in version 3.0: Enums

Methods

accept

adjustPointForReferencePosition

alignment

Returns the scalebar alignment.

applyDataDefinedSize

applyDefaultSettings

Applies the default scalebar settings to the scale bar.

applyDefaultSize

Applies the default size to the scale bar (scale bar 1/5 of map item width)

applyItemSizeConstraint

boxContentSpace

Returns the spacing (margin) between the scalebar box and content in millimeters.

brush

Returns the primary brush for the scalebar.

brush2

Returns the secondary brush for the scalebar.

childEvent

connectNotify

contextMenuEvent

create

Returns a new scale bar item for the specified layout.

customEvent

disconnectNotify

dragEnterEvent

dragLeaveEvent

dragMoveEvent

draw

drawBackground

drawDebugRect

drawFrame

dropEvent

fillColor

Returns the color used for fills in the scalebar.

fillColor2

Returns the secondary color used for fills in the scalebar.

finalizeRestoreFromXml

focusInEvent

focusOutEvent

font

Returns the font used for drawing text in the scalebar.

fontColor

Returns the color used for drawing text in the scalebar.

guessUnits

Attempts to guess the most reasonable unit choice for the scalebar, given the current linked map’s scale.

height

Returns the scalebar height (in millimeters).

hoverEnterEvent

hoverLeaveEvent

hoverMoveEvent

icon

inputMethodEvent

inputMethodQuery

isSignalConnected

itemChange

keyPressEvent

keyReleaseEvent

labelBarSpace

Returns the spacing (in millimeters) between labels and the scalebar.

lineCapStyle

Returns the cap style used for drawing lines in the scalebar.

lineColor

Returns the color used for lines in the scalebar.

lineJoinStyle

Returns the join style used for drawing lines in the scalebar.

lineWidth

Returns the line width in millimeters for lines in the scalebar.

linkedMap

Returns the map item linked to the scalebar.

mapUnitsPerScaleBarUnit

Returns the number of map units per scale bar unit used by the scalebar.

maximumBarWidth

Returns the maximum width (in millimeters) for scale bar segments.

minimumBarWidth

Returns the minimum width (in millimeters) for scale bar segments.

minimumSize

mouseDoubleClickEvent

mouseMoveEvent

mousePressEvent

mouseReleaseEvent

numberOfSegments

Returns the number of segments included in the scalebar.

numberOfSegmentsLeft

Returns the number of segments included in the left part of the scalebar.

pen

Returns the pen used for drawing outlines in the scalebar.

positionAtReferencePoint

prepareGeometryChange

readObjectPropertiesFromElement

readPropertiesFromElement

receivers

refreshBackgroundColor

refreshBlendMode

refreshDataDefinedProperty

refreshFrame

refreshItemPosition

refreshItemRotation

refreshItemSize

refreshOpacity

resizeToMinimumWidth

Resizes the scale bar to its minimum width, without changing the height.

sceneEvent

sceneEventFilter

segmentSizeMode

Returns the size mode for the scale bar segments.

sender

senderSignalIndex

setAlignment

Sets the scalebar alignment.

setBoxContentSpace

Sets the space (margin) between the scalebar box and content in millimeters.

setFillColor

Sets the color used for fills in the scalebar.

setFillColor2

Sets the secondary color used for fills in the scalebar.

setFixedSize

setFont

Sets the font used for drawing text in the scalebar.

setFontColor

Sets the color used for drawing text in the scalebar.

setHeight

Sets the scalebar height (in millimeters).

setLabelBarSpace

Sets the spacing (in millimeters) between labels and the scalebar.

setLineCapStyle

Sets the cap style used when drawing the lines in the scalebar.

setLineColor

Sets the color used for lines in the scalebar.

setLineJoinStyle

Sets the join style used when drawing the lines in the scalebar

setLineWidth

Sets the line width in millimeters for lines in the scalebar.

setLinkedMap

Sets the map item linked to the scalebar.

setMapUnitsPerScaleBarUnit

Sets the number of map units per scale bar unit used by the scalebar.

setMaximumBarWidth

Sets the maximum width (in millimeters) for scale bar segments.

setMinimumBarWidth

Sets the minimum width (in millimeters) for scale bar segments.

setMinimumSize

setNumberOfSegments

Sets the number of segments included in the scalebar.

setNumberOfSegmentsLeft

Sets the number of segments included in the left part of the scalebar.

setSegmentSizeMode

Sets the size mode for scale bar segments.

setStyle

Sets the scale bar style by name.

setTextFormat

Sets the text format used for drawing text in the scalebar.

setUnitLabel

Sets the label for units.

setUnits

Sets the distance units used by the scalebar.

setUnitsPerSegment

Sets the number of scalebar units per segment.

style

Returns the scale bar style name.

textFormat

Returns the text format used for drawing text in the scalebar.

timerEvent

topLeftToReferencePoint

type

unitLabel

Returns the label for units.

units

Returns the distance units used by the scalebar.

unitsPerSegment

Returns the number of scalebar units per segment.

update

Adjusts the scale bar box size and updates the item.

updateMicroFocus

wheelEvent

writeObjectPropertiesToElement

writePropertiesToElement

Signals

Attributes

accept(self, visitor: QgsStyleEntityVisitorInterface) → bool
adjustPointForReferencePosition()
alignment(self) → QgsScaleBarSettings.Alignment

Returns the scalebar alignment.

See also

setAlignment()

applyDataDefinedSize()
applyDefaultSettings(self)

Applies the default scalebar settings to the scale bar.

applyDefaultSize(self, units: QgsUnitTypes.DistanceUnit = QgsUnitTypes.DistanceMeters)

Applies the default size to the scale bar (scale bar 1/5 of map item width)

applyItemSizeConstraint()
boxContentSpace(self) → float

Returns the spacing (margin) between the scalebar box and content in millimeters.

brush(self) → QBrush

Returns the primary brush for the scalebar.

Returns

QBrush used for filling the scalebar

See also

brush2()

See also

pen()

brush2(self) → QBrush

Returns the secondary brush for the scalebar. This is used for alternating color style scalebars, such as single and double box styles.

Returns

QBrush used for secondary color areas

See also

brush()

childEvent()
connectNotify()
contextMenuEvent()
create(layout: QgsLayout) → QgsLayoutItemScaleBar

Returns a new scale bar item for the specified layout.

The caller takes responsibility for deleting the returned object.

customEvent()
disconnectNotify()
dragEnterEvent()
dragLeaveEvent()
dragMoveEvent()
draw(self, context: QgsLayoutItemRenderContext)
drawBackground()
drawDebugRect()
drawFrame()
dropEvent()
fillColor(self) → QColor

Returns the color used for fills in the scalebar.

See also

setFillColor()

See also

fillColor2()

fillColor2(self) → QColor

Returns the secondary color used for fills in the scalebar.

See also

setFillColor2()

See also

fillColor()

finalizeRestoreFromXml(self)
focusInEvent()
focusOutEvent()
font(self) → QFont

Returns the font used for drawing text in the scalebar.

See also

setFont()

Deprecated since version use: textFormat() instead

fontColor(self) → QColor

Returns the color used for drawing text in the scalebar.

See also

setFontColor()

See also

font()

Deprecated since version use: textFormat() instead

guessUnits(self) → QgsUnitTypes.DistanceUnit

Attempts to guess the most reasonable unit choice for the scalebar, given the current linked map’s scale.

This method also considers the linked map’s CRS, in order to determine if metric or imperial units are more appropriate.

height(self) → float

Returns the scalebar height (in millimeters).

See also

setHeight()

hoverEnterEvent()
hoverLeaveEvent()
hoverMoveEvent()
icon(self) → QIcon
inputMethodEvent()
inputMethodQuery()
isSignalConnected()
itemChange()
keyPressEvent()
keyReleaseEvent()
labelBarSpace(self) → float

Returns the spacing (in millimeters) between labels and the scalebar.

lineCapStyle(self) → Qt.PenCapStyle

Returns the cap style used for drawing lines in the scalebar.

lineColor(self) → QColor

Returns the color used for lines in the scalebar.

See also

setLineColor()

lineJoinStyle(self) → Qt.PenJoinStyle

Returns the join style used for drawing lines in the scalebar.

lineWidth(self) → float

Returns the line width in millimeters for lines in the scalebar.

See also

setLineWidth()

linkedMap(self) → QgsLayoutItemMap

Returns the map item linked to the scalebar.

See also

setLinkedMap()

mapUnitsPerScaleBarUnit(self) → float

Returns the number of map units per scale bar unit used by the scalebar.

maximumBarWidth(self) → float

Returns the maximum width (in millimeters) for scale bar segments. This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

minimumBarWidth(self) → float

Returns the minimum width (in millimeters) for scale bar segments. This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

minimumSize(self) → QgsLayoutSize
mouseDoubleClickEvent()
mouseMoveEvent()
mousePressEvent()
mouseReleaseEvent()
numberOfSegments(self) → int

Returns the number of segments included in the scalebar.

numberOfSegmentsLeft(self) → int

Returns the number of segments included in the left part of the scalebar.

pen(self) → QPen

Returns the pen used for drawing outlines in the scalebar.

See also

brush()

positionAtReferencePoint()
prepareGeometryChange()
readObjectPropertiesFromElement()
readPropertiesFromElement(self, element: QDomElement, document: QDomDocument, context: QgsReadWriteContext) → bool
receivers()
refreshBackgroundColor()
refreshBlendMode()
refreshDataDefinedProperty(self, property: QgsLayoutObject.DataDefinedProperty = QgsLayoutObject.AllProperties)
refreshFrame()
refreshItemPosition()
refreshItemRotation()
refreshItemSize()
refreshOpacity()
resizeToMinimumWidth(self)

Resizes the scale bar to its minimum width, without changing the height.

sceneEvent()
sceneEventFilter()
segmentSizeMode(self) → QgsScaleBarSettings.SegmentSizeMode

Returns the size mode for the scale bar segments.

sender()
senderSignalIndex()
setAlignment(self, alignment: QgsScaleBarSettings.Alignment)

Sets the scalebar alignment.

See also

alignment()

setBoxContentSpace(self, space: float)

Sets the space (margin) between the scalebar box and content in millimeters.

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

Sets the color used for fills in the scalebar.

See also

fillColor()

See also

setFillColor2()

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

Sets the secondary color used for fills in the scalebar.

See also

fillColor2()

See also

setFillColor2()

setFixedSize()
setFont(self, font: QFont)

Sets the font used for drawing text in the scalebar.

See also

font()

Deprecated since version use: setTextFormat() instead

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

Sets the color used for drawing text in the scalebar.

See also

fontColor()

See also

setFont()

Deprecated since version use: setTextFormat() instead

setHeight(self, height: float)

Sets the scalebar height (in millimeters).

See also

height()

setLabelBarSpace(self, space: float)

Sets the spacing (in millimeters) between labels and the scalebar.

See also

labelBarSpace()

setLineCapStyle(self, style: Qt.PenCapStyle)

Sets the cap style used when drawing the lines in the scalebar.

See also

lineCapStyle()

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

Sets the color used for lines in the scalebar.

See also

lineColor()

setLineJoinStyle(self, style: Qt.PenJoinStyle)

Sets the join style used when drawing the lines in the scalebar

See also

lineJoinStyle()

setLineWidth(self, width: float)

Sets the line width in millimeters for lines in the scalebar.

See also

lineWidth()

setLinkedMap(self, map: QgsLayoutItemMap)

Sets the map item linked to the scalebar.

See also

linkedMap()

setMapUnitsPerScaleBarUnit(self, units: float)

Sets the number of map units per scale bar unit used by the scalebar.

setMaximumBarWidth(self, maxWidth: float)

Sets the maximum width (in millimeters) for scale bar segments. This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

setMinimumBarWidth(self, minWidth: float)

Sets the minimum width (in millimeters) for scale bar segments. This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

setMinimumSize()
setNumberOfSegments(self, segments: int)

Sets the number of segments included in the scalebar.

setNumberOfSegmentsLeft(self, segments: int)

Sets the number of segments included in the left part of the scalebar.

setSegmentSizeMode(self, mode: QgsScaleBarSettings.SegmentSizeMode)

Sets the size mode for scale bar segments.

setStyle(self, name: str)

Sets the scale bar style by name.

The name parameter gives the (untranslated) style name. Possibilities are: ‘Single Box’, ‘Double Box’, ‘Line Ticks Middle’, ‘Line Ticks Down’, ‘Line Ticks Up’, ‘Numeric’

See also

style()

setTextFormat(self, format: QgsTextFormat)

Sets the text format used for drawing text in the scalebar.

See also

textFormat()

New in version 3.2.

setUnitLabel(self, label: str)

Sets the label for units.

See also

unitLabel()

setUnits(self, units: QgsUnitTypes.DistanceUnit)

Sets the distance units used by the scalebar.

See also

units()

setUnitsPerSegment(self, units: float)

Sets the number of scalebar units per segment.

style(self) → str

Returns the scale bar style name.

See also

setStyle()

textFormat(self) → QgsTextFormat

Returns the text format used for drawing text in the scalebar.

See also

setTextFormat()

New in version 3.2.

timerEvent()
topLeftToReferencePoint()
type(self) → int
unitLabel(self) → str

Returns the label for units.

See also

setUnitLabel()

units(self) → QgsUnitTypes.DistanceUnit

Returns the distance units used by the scalebar.

See also

setUnits()

unitsPerSegment(self) → float

Returns the number of scalebar units per segment.

update(self)

Adjusts the scale bar box size and updates the item.

updateMicroFocus()
wheelEvent()
writeObjectPropertiesToElement()
writePropertiesToElement(self, element: QDomElement, document: QDomDocument, context: QgsReadWriteContext) → bool