Class: QgsUnitSelectionWidget

class qgis.gui.QgsUnitSelectionWidget(parent: QWidget = None)

Bases: PyQt5.QtWidgets.QWidget

Constructor for QgsUnitSelectionWidget.


parent (QWidget = None) – parent widget

A widget displaying a combobox allowing the user to choose between various display units, such as millimeters or map unit. If the user chooses map units, a button appears allowing adjustment of minimum and maximum scaling.

actionEvent(self, QActionEvent)
changeEvent(self, QEvent)

changed(self) [signal]

childEvent(self, QChildEvent)
closeEvent(self, QCloseEvent)
connectNotify(self, QMetaMethod)
contextMenuEvent(self, QContextMenuEvent)
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
customEvent(self, QEvent)
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
enterEvent(self, QEvent)
event(self, QEvent) → bool
focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, QFocusEvent)
focusPreviousChild(self) → bool

Returns the map unit scale

Return type


getUnit(self) → int

Gets the selected unit index

Return type


hideEvent(self, QHideEvent)
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
isSignalConnected(self, QMetaMethod) → bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
leaveEvent(self, QEvent)
metric(self, QPaintDevice.PaintDeviceMetric) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
moveEvent(self, QMoveEvent)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
paintEvent(self, QPaintEvent)
receivers(self, PYQT_SIGNAL) → int
resizeEvent(self, QResizeEvent)
sender(self) → QObject
senderSignalIndex(self) → int
setMapCanvas(self, canvas: QgsMapCanvas)

Sets the map canvas associated with the widget. This allows the widget to retrieve the current map scale from the canvas.


canvas (QgsMapCanvas) – map canvas

New in version 2.12.

setMapUnitScale(self, scale: QgsMapUnitScale)

Sets the map unit scale


scale (QgsMapUnitScale) –

setUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the selected unit


unit (QgsUnitTypes.RenderUnit) – predefined unit to set as current

setUnitIndex(self, unitIndex: int)

Sets the selected unit index


unitIndex (int) – index of unit to set as current


available in Python bindings as setUnitIndex

setUnits(self, units: Iterable[str], mapUnitIdx: int)

Sets the units which the user can choose from in the combobox.

  • units (Iterable[str]) – list of strings for custom units to display in the widget

  • mapUnitIdx (int) – specifies which entry corresponds to the map units, or -1 if none

setUnits(self, units: Iterable[QgsUnitTypes.RenderUnit]) Sets the units which the user can choose from in the combobox. Clears any existing units.


units – list of valid units

New in version 2.9.

sharedPainter(self) → QPainter
showEvent(self, QShowEvent)
tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
unit(self) → QgsUnitTypes.RenderUnit

Returns the current predefined selected unit (if applicable).

Return type



selected output unit, or QgsUnitTypes.RenderUnknownUnit if the widget was populated with custom unit types

New in version 2.9.

wheelEvent(self, QWheelEvent)