Class: QgsProjectionSelectionWidget

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

Bases: PyQt5.QtWidgets.QWidget

Constructor for QgsProjectionSelectionWidget

A widget for selecting a projection.

New in version 2.7.



CrsNotSet = 5
class CrsOption

Bases: int

CurrentCrs = 2
DefaultCrs = 3
LayerCrs = 0
ProjectCrs = 1
RecentCrs = 4
actionEvent(self, QActionEvent)
changeEvent(self, QEvent)
childEvent(self, QChildEvent)

Emitted when the not set option is selected.

New in version 3.0: [signal]

closeEvent(self, QCloseEvent)
connectNotify(self, QMetaMethod)
contextMenuEvent(self, QContextMenuEvent)
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)

Returns the currently selected CRS for the widget

Return type



current CRS


Emitted when the selected CRS is changed [signal]

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
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]
optionVisible(self, option: QgsProjectionSelectionWidget.CrsOption) → bool

Returns whether the specified CRS option is visible in the widget.

New in version 3.0.


option (QgsProjectionSelectionWidget.CrsOption) –

Return type


paintEvent(self, QPaintEvent)
receivers(self, PYQT_SIGNAL) → int
resizeEvent(self, QResizeEvent)

Opens the dialog for selecting a new CRS

sender(self) → QObject
senderSignalIndex(self) → int
setCrs(self, crs: QgsCoordinateReferenceSystem)

Sets the current CRS for the widget


crs (QgsCoordinateReferenceSystem) – new CRS

setLayerCrs(self, crs: QgsCoordinateReferenceSystem)

Sets the layer CRS for the widget. If set, this will be added as an option to the preset CRSes shown in the widget.


crs (QgsCoordinateReferenceSystem) – layer CRS

setMessage(self, text: str)

Sets a message to show in the dialog. If an empty string is passed, the message will be a generic ‘define the CRS for this layer’.

New in version 3.0.


text (str) –

setNotSetText(self, text: str)

Sets the text to show for the not set option. Note that this option is not shown by default and must be set visible by calling setOptionVisible().

New in version 3.0.


text (str) –

setOptionVisible(self, option: QgsProjectionSelectionWidget.CrsOption, visible: bool)

Sets whether a predefined CRS option should be shown in the widget.


See also


sharedPainter(self) → QPainter
showEvent(self, QShowEvent)
tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
wheelEvent(self, QWheelEvent)