class GtoWidgetProjectionSelection(QWidget): def __init__(self, gtomain, parent=None): super(GtoWidgetProjectionSelection, self).__init__(parent) # QWidgetAction.__init__(self,parent) self.iface = gtomain.iface self.info = gtomain.info try: self.prj = QgsProject.instance() # ui lay = QHBoxLayout(self) # ----- self.lblLayer = QLabel("Projektion:") lay.addWidget(self.lblLayer) self.wid = QgsProjectionSelectionWidget(self) # help the QGIS widget:/ self.wid.setMinimumWidth(350) self.wid.setSizePolicy(self.lblLayer.sizePolicy()) lay.addWidget(self.wid) for tb in self.wid.findChildren(QToolButton): tb.setIconSize(self.iface.iconSize()) # ----- self.setLayout(lay) # signals self.prj.crsChanged.connect(self.prj_crs_changed) self.wid.crsChanged.connect(self.set_prj_crs) # start self.wid.setCrs(self.prj.crs()) except Exception as e: self.info.err(e) def prj_crs_changed(self): try: self.wid.setCrs(self.prj.crs()) except Exception as e: self.info.err(e) def set_prj_crs(self, crs): try: self.prj.setCrs(self.wid.crs()) except Exception as e: self.info.err(e)