Class: QgsScaleWidget

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

Class Hierarchy

Inheritance diagram of qgis.gui.QgsScaleWidget

Base classes

QWidget

QObject

QPaintDevice

class qgis.gui.QgsScaleWidget[source]

Bases: QWidget

__init__(parent: QWidget | None = None)

QgsScaleWidget creates a combobox which lets the user select map scale from predefined list and highlights nearest to current scale value

Parameters:

parent (Optional[QWidget] = None)

allowNull(self) bool[source]

Returns True if the widget can be set to a NULL value.

See also

setAllowNull()

See also

isNull()

See also

setNull()

Added in version 3.8.

Return type:

bool

isNull(self) bool[source]

Returns True if the widget is currently set to a “null” value.

See also

setAllowNull()

See also

setNull()

Added in version 3.8.

Return type:

bool

minScale(self) float[source]

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.

Return type:

float

scale(self) float[source]

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

See also

setScale()

Return type:

float

signal scaleChanged[source]

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

scaleString(self) str[source]

Returns the selected scale as a string, e.g. “1:150”.

See also

setScaleString()

Return type:

str

setAllowNull(self, allowNull: bool)[source]

Sets whether the scale widget can be set to a NULL value.

See also

allowNull()

See also

isNull()

See also

setNull()

Added in version 3.8.

Parameters:

allowNull (bool)

setMapCanvas(self, canvas: QgsMapCanvas | None)[source]

Set the map canvas associated to the current button.

Parameters:

canvas (Optional[QgsMapCanvas])

setMinScale(self, scale: float)[source]

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.

Parameters:

scale (float)

setNull(self)[source]

Sets the widget to the null value.

This only has an effect if allowNull() is True.

See also

allowNull()

See also

isNull()

Added in version 3.8.

setPredefinedScales(self, scales: Iterable[float])[source]

Sets the list of predefined scales to show in the widget. List elements are expected to be scale denominators, e.g. 1000.0 for a 1:1000 map.

If scales is empty then the default user scale options will be used instead.

Added in version 3.38.

Parameters:

scales (Iterable[float])

setScale(self, scale: float)[source]

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

See also

scale()

Parameters:

scale (float)

setScaleFromCanvas(self)[source]

Assigns the current scale from the map canvas, if set.

See also

setMapCanvas()

setScaleString(self, string: str | None) bool[source]

Set the selected scale from a string, e.g. “1:150”.

See also

scaleString()

Parameters:

string (Optional[str])

Return type:

bool

setShowCurrentScaleButton(self, showCurrentScaleButton: bool)[source]

Sets whether to show a button to set the scale to the current scale of the map canvas next to the combobox.

Note

the map canvas must be defined to show the button

See also

setMapCanvas()

Parameters:

showCurrentScaleButton (bool)

showCurrentScaleButton(self) bool[source]

Returns whether a button to set the scale from map canvas is shown or not.

Return type:

bool

static toDouble(scaleString: str | None)[source]

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.

See also

toString()

Parameters:

scaleString (Optional[str]) -> (float)

static toString(scale: float) str[source]

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).

See also

toDouble()

Parameters:

scale (float)

Return type:

str

updateScales(self, scales: Iterable[str | None] = [])[source]

Sets the list of predefined scales to show in the widget. List elements are expected to be valid scale strings, such as “1:1000000”.

Parameters:

scales (Iterable[Optional[str]] = [])