QgsScaleComboBox class

A combobox which lets the user select map scale from predefined list and highlights nearest to current scale value.

Public static functions

static auto toDouble(const QString& string, bool* ok = nullptr) -> double
Helper function to convert a scale string to double.
static auto toString(double scale) -> QString
Helper function to convert a scale double to scale string.

Constructors, destructors, conversion operators

QgsScaleComboBox(QWidget* parent = nullptr)
Constructor for QgsScaleComboBox.

Public functions

auto minScale() const -> double
Returns the minimum scale, or 0 if no minimum scale set.
auto scale() const -> double
Returns the selected scale as a double.
auto scaleString() const -> QString
Returns the selected scale as a string, e.g.
auto setScaleString(const QString& string) -> bool
Set the selected scale from a string, e.g.

Signals

void scaleChanged(double scale)
Emitted when user has finished editing/selecting a new scale.

Public slots

void setMinScale(double scale)
Set the minimum allowed scale.
void setScale(double scale)
Set the selected scale from a double.
void updateScales(const QStringList& scales = QStringList())
Sets the list of predefined scales to show in the combobox.

Function documentation

static double QgsScaleComboBox::toDouble(const QString& string, bool* ok = nullptr)

Helper function to convert a scale string to double.

The returned value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. If specified, ok will be set to true if the string was successfully interpreted as a scale.

static QString QgsScaleComboBox::toString(double scale)

Helper function to convert a scale double to scale string.

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

The returned string will be rounded (e.g. 1:1000, not 1:1000.345).

double QgsScaleComboBox::minScale() const

Returns the minimum scale, or 0 if no minimum scale set.

The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. Any scale lower than the minimum scale will automatically be converted to the minimum scale. Except for 0 which is always allowed.

double QgsScaleComboBox::scale() const

Returns the selected scale as a double.

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

QString QgsScaleComboBox::scaleString() const

Returns the selected scale as a string, e.g.

"1:150".

bool QgsScaleComboBox::setScaleString(const QString& string)

Set the selected scale from a string, e.g.

"1:150".

void QgsScaleComboBox::scaleChanged(double scale) signal

Emitted when user has finished editing/selecting a new scale.

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

void QgsScaleComboBox::setMinScale(double scale) public slot

Set the minimum allowed scale.

Set to 0 to disable the minimum scale. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. Any scale lower than the minimum scale will automatically be converted to the minimum scale. Except for 0 which is always allowed.

void QgsScaleComboBox::setScale(double scale) public slot

Set the selected scale from a double.

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

void QgsScaleComboBox::updateScales(const QStringList& scales = QStringList()) public slot

Sets the list of predefined scales to show in the combobox.

List elements are expected to be valid scale strings, such as "1:1000000".