Ejemplo n.º 1
0
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)