QGIS API Documentation  3.11.0-Master (68611307d7)
Public Types | Public Member Functions | List of all members
QgsScaleBarSettings Class Reference

The QgsScaleBarSettings class stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer. More...

#include <qgsscalebarsettings.h>

Public Types

enum  Alignment { AlignLeft = 0, AlignMiddle, AlignRight }
 Scalebar alignment. More...
 
enum  LabelHorizontalPlacement { LabelCenteredEdge = 0, LabelCenteredSegment }
 Label horizontal placement. More...
 
enum  LabelVerticalPlacement { LabelAboveSegment = 0, LabelBelowSegment }
 Label vertical placement. More...
 
enum  SegmentSizeMode { SegmentSizeFixed = 0, SegmentSizeFitWidth = 1 }
 Modes for setting size for scale bar segments. More...
 

Public Member Functions

 QgsScaleBarSettings ()
 Constructor for QgsScaleBarSettings. More...
 
 QgsScaleBarSettings (const QgsScaleBarSettings &other)
 Copy constructor. More...
 
 ~QgsScaleBarSettings ()
 
Alignment alignment () const
 Returns the scalebar alignment. More...
 
double boxContentSpace () const
 Returns the spacing (margin) between the scalebar box and content in millimeters. More...
 
QBrush brush () const
 Returns the primary brush used for filling the scalebar. More...
 
QBrush brush2 () const
 Returns the secondary brush for the scalebar. More...
 
QColor fillColor () const
 Returns the color used for fills in the scalebar. More...
 
QColor fillColor2 () const
 Returns the secondary color used for fills in the scalebar. More...
 
Q_DECL_DEPRECATED QFont font () const
 Returns the font used for drawing text in the scalebar. More...
 
Q_DECL_DEPRECATED QColor fontColor () const
 Returns the color used for drawing text in the scalebar. More...
 
double height () const
 Returns the scalebar height (in millimeters). More...
 
double labelBarSpace () const
 Returns the spacing (in millimeters) between labels and the scalebar. More...
 
LabelHorizontalPlacement labelHorizontalPlacement () const
 Returns the horizontal placement of text labels. More...
 
LabelVerticalPlacement labelVerticalPlacement () const
 Returns the vertical placement of text labels. More...
 
Qt::PenCapStyle lineCapStyle () const
 Returns the cap style used for drawing lines in the scalebar. More...
 
QColor lineColor () const
 Returns the color used for lines in the scalebar. More...
 
Qt::PenJoinStyle lineJoinStyle () const
 Returns the join style used for drawing lines in the scalebar. More...
 
double lineWidth () const
 Returns the line width in millimeters for lines in the scalebar. More...
 
double mapUnitsPerScaleBarUnit () const
 Returns the number of map units per scale bar unit used by the scalebar. More...
 
double maximumBarWidth () const
 Returns the maximum width (in millimeters) for scale bar segments. More...
 
double minimumBarWidth () const
 Returns the minimum width (in millimeters) for scale bar segments. More...
 
int numberOfSegments () const
 Returns the number of segments included in the scalebar. More...
 
int numberOfSegmentsLeft () const
 Returns the number of segments included in the left part of the scalebar. More...
 
const QgsNumericFormatnumericFormat () const
 Returns the numeric format used for numbers in the scalebar. More...
 
QgsScaleBarSettingsoperator= (const QgsScaleBarSettings &other)
 
QPen pen () const
 Returns the pen used for drawing outlines in the scalebar. More...
 
SegmentSizeMode segmentSizeMode () const
 Returns the size mode for the scale bar segments. More...
 
void setAlignment (Alignment alignment)
 Sets the scalebar alignment. More...
 
void setBoxContentSpace (double space)
 Sets the space (margin) between the scalebar box and content in millimeters. More...
 
void setBrush (const QBrush &brush)
 Sets the primary brush used for filling the scalebar. More...
 
void setBrush2 (const QBrush &brush)
 Sets the secondary brush used for filling the scalebar. More...
 
void setFillColor (const QColor &color)
 Sets the color used for fills in the scalebar. More...
 
void setFillColor2 (const QColor &color)
 Sets the secondary color used for fills in the scalebar. More...
 
Q_DECL_DEPRECATED void setFont (const QFont &font)
 Sets the font used for drawing text in the scalebar. More...
 
Q_DECL_DEPRECATED void setFontColor (const QColor &color)
 Sets the color used for drawing text in the scalebar. More...
 
void setHeight (double height)
 Sets the scalebar height (in millimeters). More...
 
void setLabelBarSpace (double space)
 Sets the spacing (in millimeters) between labels and the scalebar. More...
 
void setLabelHorizontalPlacement (LabelHorizontalPlacement placement)
 Sets the horizontal placement of text labels. More...
 
void setLabelVerticalPlacement (LabelVerticalPlacement placement)
 Sets the vertical placement of text labels. More...
 
void setLineCapStyle (Qt::PenCapStyle style)
 Sets the cap style used when drawing the lines in the scalebar. More...
 
void setLineColor (const QColor &color)
 Sets the color used for lines in the scalebar. More...
 
void setLineJoinStyle (Qt::PenJoinStyle style)
 Sets the join style used when drawing the lines in the scalebar. More...
 
void setLineWidth (double width)
 Sets the line width in millimeters for lines in the scalebar. More...
 
void setMapUnitsPerScaleBarUnit (double units)
 Sets the number of map units per scale bar unit used by the scalebar. More...
 
void setMaximumBarWidth (double width)
 Sets the maximum width (in millimeters) for scale bar segments. More...
 
void setMinimumBarWidth (double width)
 Sets the minimum width (in millimeters) for scale bar segments. More...
 
void setNumberOfSegments (int segments)
 Sets the number of segments included in the scalebar. More...
 
void setNumberOfSegmentsLeft (int segments)
 Sets the number of segments included in the left part of the scalebar. More...
 
void setNumericFormat (QgsNumericFormat *format)
 Sets the numeric format used for numbers in the scalebar. More...
 
void setPen (const QPen &pen)
 Sets the pen used for drawing outlines in the scalebar. More...
 
void setSegmentSizeMode (SegmentSizeMode mode)
 Sets the size mode for scale bar segments. More...
 
void setTextFormat (const QgsTextFormat &format)
 Sets the text format used for drawing text in the scalebar. More...
 
void setUnitLabel (const QString &label)
 Sets the label for units. More...
 
void setUnits (QgsUnitTypes::DistanceUnit units)
 Sets the distance units used by the scalebar. More...
 
void setUnitsPerSegment (double units)
 Sets the number of scalebar units per segment. More...
 
QgsTextFormattextFormat ()
 Returns the text format used for drawing text in the scalebar. More...
 
QgsTextFormat textFormat () const
 Returns the text format used for drawing text in the scalebar. More...
 
QString unitLabel () const
 Returns the label for units. More...
 
QgsUnitTypes::DistanceUnit units () const
 Returns the distance units used by the scalebar. More...
 
double unitsPerSegment () const
 Returns the number of scalebar units per segment. More...
 

Detailed Description

The QgsScaleBarSettings class stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer.

Since
QGIS 3.0

Definition at line 39 of file qgsscalebarsettings.h.

Member Enumeration Documentation

◆ Alignment

Scalebar alignment.

Enumerator
AlignLeft 

Left aligned.

AlignMiddle 

Center aligned.

AlignRight 

Right aligned.

Definition at line 46 of file qgsscalebarsettings.h.

◆ LabelHorizontalPlacement

Label horizontal placement.

Enumerator
LabelCenteredEdge 

Labels are drawn centered relative to segment's edge.

LabelCenteredSegment 

Labels are drawn centered relative to segment.

Definition at line 74 of file qgsscalebarsettings.h.

◆ LabelVerticalPlacement

Label vertical placement.

Enumerator
LabelAboveSegment 

Labels are drawn above the scalebar.

LabelBelowSegment 

Labels are drawn below the scalebar.

Definition at line 65 of file qgsscalebarsettings.h.

◆ SegmentSizeMode

Modes for setting size for scale bar segments.

Enumerator
SegmentSizeFixed 

Scale bar segment size is fixed to a map unit.

SegmentSizeFitWidth 

Scale bar segment size is calculated to fit a size range.

Definition at line 56 of file qgsscalebarsettings.h.

Constructor & Destructor Documentation

◆ QgsScaleBarSettings() [1/2]

QgsScaleBarSettings::QgsScaleBarSettings ( )

Constructor for QgsScaleBarSettings.

Definition at line 22 of file qgsscalebarsettings.cpp.

◆ ~QgsScaleBarSettings()

QgsScaleBarSettings::~QgsScaleBarSettings ( )
default

◆ QgsScaleBarSettings() [2/2]

QgsScaleBarSettings::QgsScaleBarSettings ( const QgsScaleBarSettings other)

Copy constructor.

Definition at line 42 of file qgsscalebarsettings.cpp.

Member Function Documentation

◆ alignment()

Alignment QgsScaleBarSettings::alignment ( ) const
inline

Returns the scalebar alignment.

See also
setAlignment()

Definition at line 451 of file qgsscalebarsettings.h.

◆ boxContentSpace()

double QgsScaleBarSettings::boxContentSpace ( ) const
inline

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

See also
setBoxContentSpace()

Definition at line 439 of file qgsscalebarsettings.h.

◆ brush()

QBrush QgsScaleBarSettings::brush ( ) const
inline

Returns the primary brush used for filling the scalebar.

See also
setBrush()
brush2()
pen()

Definition at line 361 of file qgsscalebarsettings.h.

◆ brush2()

QBrush QgsScaleBarSettings::brush2 ( ) const
inline

Returns the secondary brush for the scalebar.

This is used for alternating color style scalebars, such as single and double box styles.

See also
setBrush2()
brush()

Definition at line 375 of file qgsscalebarsettings.h.

◆ fillColor()

QColor QgsScaleBarSettings::fillColor ( ) const
inline

Returns the color used for fills in the scalebar.

See also
setFillColor()
fillColor2()

Definition at line 295 of file qgsscalebarsettings.h.

◆ fillColor2()

QColor QgsScaleBarSettings::fillColor2 ( ) const
inline

Returns the secondary color used for fills in the scalebar.

See also
setFillColor2()
fillColor()

Definition at line 309 of file qgsscalebarsettings.h.

◆ font()

Q_DECL_DEPRECATED QFont QgsScaleBarSettings::font ( ) const
inline

Returns the font used for drawing text in the scalebar.

See also
setFont()
Deprecated:
use textFormat() instead

Definition at line 252 of file qgsscalebarsettings.h.

◆ fontColor()

Q_DECL_DEPRECATED QColor QgsScaleBarSettings::fontColor ( ) const
inline

Returns the color used for drawing text in the scalebar.

See also
setFontColor()
font()
Deprecated:
use textFormat() instead

Definition at line 280 of file qgsscalebarsettings.h.

◆ height()

double QgsScaleBarSettings::height ( ) const
inline

Returns the scalebar height (in millimeters).

See also
setHeight()

Definition at line 387 of file qgsscalebarsettings.h.

◆ labelBarSpace()

double QgsScaleBarSettings::labelBarSpace ( ) const
inline

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

See also
setLabelBarSpace()

Definition at line 399 of file qgsscalebarsettings.h.

◆ labelHorizontalPlacement()

LabelHorizontalPlacement QgsScaleBarSettings::labelHorizontalPlacement ( ) const
inline

Returns the horizontal placement of text labels.

See also
setLabelHorizontalPlacement()
Since
QGIS 3.10

Definition at line 426 of file qgsscalebarsettings.h.

◆ labelVerticalPlacement()

LabelVerticalPlacement QgsScaleBarSettings::labelVerticalPlacement ( ) const
inline

Returns the vertical placement of text labels.

See also
setLabelVerticalPlacement()
Since
QGIS 3.10

Definition at line 412 of file qgsscalebarsettings.h.

◆ lineCapStyle()

Qt::PenCapStyle QgsScaleBarSettings::lineCapStyle ( ) const
inline

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

See also
setLineCapStyle()

Definition at line 475 of file qgsscalebarsettings.h.

◆ lineColor()

QColor QgsScaleBarSettings::lineColor ( ) const
inline

Returns the color used for lines in the scalebar.

See also
setLineColor()

Definition at line 322 of file qgsscalebarsettings.h.

◆ lineJoinStyle()

Qt::PenJoinStyle QgsScaleBarSettings::lineJoinStyle ( ) const
inline

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

See also
setLineJoinStyle()

Definition at line 463 of file qgsscalebarsettings.h.

◆ lineWidth()

double QgsScaleBarSettings::lineWidth ( ) const
inline

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

See also
setLineWidth()

Definition at line 334 of file qgsscalebarsettings.h.

◆ mapUnitsPerScaleBarUnit()

double QgsScaleBarSettings::mapUnitsPerScaleBarUnit ( ) const
inline

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

See also
setMapUnitsPerScaleBarUnit()

Definition at line 206 of file qgsscalebarsettings.h.

◆ maximumBarWidth()

double QgsScaleBarSettings::maximumBarWidth ( ) const
inline

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

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
segmentSizeMode()
setMaximumBarWidth()
minimumBarWidth()

Definition at line 178 of file qgsscalebarsettings.h.

◆ minimumBarWidth()

double QgsScaleBarSettings::minimumBarWidth ( ) const
inline

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

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
segmentSizeMode()
setMinimumBarWidth()
maximumBarWidth()

Definition at line 158 of file qgsscalebarsettings.h.

◆ numberOfSegments()

int QgsScaleBarSettings::numberOfSegments ( ) const
inline

Returns the number of segments included in the scalebar.

See also
setNumberOfSegments()
numberOfSegmentsLeft()

Definition at line 99 of file qgsscalebarsettings.h.

◆ numberOfSegmentsLeft()

int QgsScaleBarSettings::numberOfSegmentsLeft ( ) const
inline

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

See also
setNumberOfSegmentsLeft()
numberOfSegments()

Definition at line 113 of file qgsscalebarsettings.h.

◆ numericFormat()

const QgsNumericFormat * QgsScaleBarSettings::numericFormat ( ) const

Returns the numeric format used for numbers in the scalebar.

See also
setNumericFormat()
Since
QGIS 3.12

Definition at line 104 of file qgsscalebarsettings.cpp.

◆ operator=()

QgsScaleBarSettings & QgsScaleBarSettings::operator= ( const QgsScaleBarSettings other)

Definition at line 73 of file qgsscalebarsettings.cpp.

◆ pen()

QPen QgsScaleBarSettings::pen ( ) const
inline

Returns the pen used for drawing outlines in the scalebar.

See also
setPen()
brush()

Definition at line 347 of file qgsscalebarsettings.h.

◆ segmentSizeMode()

SegmentSizeMode QgsScaleBarSettings::segmentSizeMode ( ) const
inline

Returns the size mode for the scale bar segments.

See also
setSegmentSizeMode()
minimumBarWidth()
maximumBarWidth()

Definition at line 140 of file qgsscalebarsettings.h.

◆ setAlignment()

void QgsScaleBarSettings::setAlignment ( Alignment  alignment)
inline

Sets the scalebar alignment.

See also
alignment()

Definition at line 457 of file qgsscalebarsettings.h.

◆ setBoxContentSpace()

void QgsScaleBarSettings::setBoxContentSpace ( double  space)
inline

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

See also
boxContentSpace()

Definition at line 445 of file qgsscalebarsettings.h.

◆ setBrush()

void QgsScaleBarSettings::setBrush ( const QBrush &  brush)
inline

Sets the primary brush used for filling the scalebar.

See also
brush()

Definition at line 367 of file qgsscalebarsettings.h.

◆ setBrush2()

void QgsScaleBarSettings::setBrush2 ( const QBrush &  brush)
inline

Sets the secondary brush used for filling the scalebar.

See also
brush()

Definition at line 381 of file qgsscalebarsettings.h.

◆ setFillColor()

void QgsScaleBarSettings::setFillColor ( const QColor &  color)
inline

Sets the color used for fills in the scalebar.

See also
fillColor()
setFillColor2()

Definition at line 302 of file qgsscalebarsettings.h.

◆ setFillColor2()

void QgsScaleBarSettings::setFillColor2 ( const QColor &  color)
inline

Sets the secondary color used for fills in the scalebar.

See also
fillColor2()
setFillColor2()

Definition at line 316 of file qgsscalebarsettings.h.

◆ setFont()

Q_DECL_DEPRECATED void QgsScaleBarSettings::setFont ( const QFont &  font)
inline

Sets the font used for drawing text in the scalebar.

See also
font()
Deprecated:
use setTextFormat() instead

Definition at line 259 of file qgsscalebarsettings.h.

◆ setFontColor()

Q_DECL_DEPRECATED void QgsScaleBarSettings::setFontColor ( const QColor &  color)
inline

Sets the color used for drawing text in the scalebar.

See also
fontColor()
setFont()
Deprecated:
use textFormat() instead

Definition at line 288 of file qgsscalebarsettings.h.

◆ setHeight()

void QgsScaleBarSettings::setHeight ( double  height)
inline

Sets the scalebar height (in millimeters).

See also
height()

Definition at line 393 of file qgsscalebarsettings.h.

◆ setLabelBarSpace()

void QgsScaleBarSettings::setLabelBarSpace ( double  space)
inline

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

See also
labelBarSpace()

Definition at line 405 of file qgsscalebarsettings.h.

◆ setLabelHorizontalPlacement()

void QgsScaleBarSettings::setLabelHorizontalPlacement ( LabelHorizontalPlacement  placement)
inline

Sets the horizontal placement of text labels.

See also
labelHorizontalPlacement()
Since
QGIS 3.10

Definition at line 433 of file qgsscalebarsettings.h.

◆ setLabelVerticalPlacement()

void QgsScaleBarSettings::setLabelVerticalPlacement ( LabelVerticalPlacement  placement)
inline

Sets the vertical placement of text labels.

See also
labelVerticalPlacement()
Since
QGIS 3.10

Definition at line 419 of file qgsscalebarsettings.h.

◆ setLineCapStyle()

void QgsScaleBarSettings::setLineCapStyle ( Qt::PenCapStyle  style)
inline

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

See also
lineCapStyle()

Definition at line 481 of file qgsscalebarsettings.h.

◆ setLineColor()

void QgsScaleBarSettings::setLineColor ( const QColor &  color)
inline

Sets the color used for lines in the scalebar.

See also
lineColor()

Definition at line 328 of file qgsscalebarsettings.h.

◆ setLineJoinStyle()

void QgsScaleBarSettings::setLineJoinStyle ( Qt::PenJoinStyle  style)
inline

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

See also
lineJoinStyle()

Definition at line 469 of file qgsscalebarsettings.h.

◆ setLineWidth()

void QgsScaleBarSettings::setLineWidth ( double  width)
inline

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

See also
lineWidth()

Definition at line 340 of file qgsscalebarsettings.h.

◆ setMapUnitsPerScaleBarUnit()

void QgsScaleBarSettings::setMapUnitsPerScaleBarUnit ( double  units)
inline

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

See also
mapUnitsPerScaleBarUnit()

Definition at line 212 of file qgsscalebarsettings.h.

◆ setMaximumBarWidth()

void QgsScaleBarSettings::setMaximumBarWidth ( double  width)
inline

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

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
minimumBarWidth()
setMinimumBarWidth()
setSegmentSizeMode()

Definition at line 188 of file qgsscalebarsettings.h.

◆ setMinimumBarWidth()

void QgsScaleBarSettings::setMinimumBarWidth ( double  width)
inline

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

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
minimumBarWidth()
setMaximumBarWidth()
setSegmentSizeMode()

Definition at line 168 of file qgsscalebarsettings.h.

◆ setNumberOfSegments()

void QgsScaleBarSettings::setNumberOfSegments ( int  segments)
inline

Sets the number of segments included in the scalebar.

See also
numberOfSegments()
setNumberOfSegmentsLeft()

Definition at line 106 of file qgsscalebarsettings.h.

◆ setNumberOfSegmentsLeft()

void QgsScaleBarSettings::setNumberOfSegmentsLeft ( int  segments)
inline

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

See also
numberOfSegmentsLeft()
setNumberOfSegments()

Definition at line 120 of file qgsscalebarsettings.h.

◆ setNumericFormat()

void QgsScaleBarSettings::setNumericFormat ( QgsNumericFormat format)

Sets the numeric format used for numbers in the scalebar.

Ownership of format is transferred to the settings.

See also
numericFormat()
Since
QGIS 3.12

Definition at line 109 of file qgsscalebarsettings.cpp.

◆ setPen()

void QgsScaleBarSettings::setPen ( const QPen &  pen)
inline

Sets the pen used for drawing outlines in the scalebar.

See also
pen()

Definition at line 353 of file qgsscalebarsettings.h.

◆ setSegmentSizeMode()

void QgsScaleBarSettings::setSegmentSizeMode ( SegmentSizeMode  mode)
inline

Sets the size mode for scale bar segments.

See also
segmentSizeMode()
setMinimumBarWidth()
setMaximumBarWidth()

Definition at line 148 of file qgsscalebarsettings.h.

◆ setTextFormat()

void QgsScaleBarSettings::setTextFormat ( const QgsTextFormat format)
inline

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

See also
textFormat()
Since
QGIS 3.2

Definition at line 245 of file qgsscalebarsettings.h.

◆ setUnitLabel()

void QgsScaleBarSettings::setUnitLabel ( const QString &  label)
inline

Sets the label for units.

See also
unitLabel()

Definition at line 224 of file qgsscalebarsettings.h.

◆ setUnits()

void QgsScaleBarSettings::setUnits ( QgsUnitTypes::DistanceUnit  units)
inline

Sets the distance units used by the scalebar.

See also
units()

Definition at line 200 of file qgsscalebarsettings.h.

◆ setUnitsPerSegment()

void QgsScaleBarSettings::setUnitsPerSegment ( double  units)
inline

Sets the number of scalebar units per segment.

See also
unitsPerSegment()

Definition at line 132 of file qgsscalebarsettings.h.

◆ textFormat() [1/2]

QgsTextFormat& QgsScaleBarSettings::textFormat ( )
inline

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

See also
setTextFormat()
Since
QGIS 3.2

Definition at line 231 of file qgsscalebarsettings.h.

◆ textFormat() [2/2]

QgsTextFormat QgsScaleBarSettings::textFormat ( ) const
inline

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

See also
setTextFormat()
Since
QGIS 3.2

Definition at line 238 of file qgsscalebarsettings.h.

◆ unitLabel()

QString QgsScaleBarSettings::unitLabel ( ) const
inline

Returns the label for units.

See also
setUnitLabel()

Definition at line 218 of file qgsscalebarsettings.h.

◆ units()

QgsUnitTypes::DistanceUnit QgsScaleBarSettings::units ( ) const
inline

Returns the distance units used by the scalebar.

See also
setUnits()

Definition at line 194 of file qgsscalebarsettings.h.

◆ unitsPerSegment()

double QgsScaleBarSettings::unitsPerSegment ( ) const
inline

Returns the number of scalebar units per segment.

See also
setUnitsPerSegment()

Definition at line 126 of file qgsscalebarsettings.h.


The documentation for this class was generated from the following files: