def load_config(self): """ select and load new configuration """ qfd = QtWidgets.QFileDialog() filt = self.plugin.tr("Config files(*.cfg)") title = self.plugin.tr("Select config file to load") f, _ = QtWidgets.QFileDialog.getOpenFileName(qfd, title, ".", filt) self.plugin.new_config(f)
def on_load_output_directory(self): dialog = QtWidgets.QFileDialog(self, 'Select Output Directory') dialog.setFileMode(QtWidgets.QFileDialog.DirectoryOnly) if dialog.exec_() == QtWidgets.QDialog.Accepted: fname = dialog.selectedFiles()[0] self.log_message(f"Selected Output Directory: {fname}") self.Snow_OutputDirectoryLineEdit.setText(fname)
def on_load_DEM(self): dialog = QtWidgets.QFileDialog(self, 'Select DEM') dialog.setFileMode(QtWidgets.QFileDialog.ExistingFile) if dialog.exec_() == QtWidgets.QDialog.Accepted: fname = dialog.selectedFiles()[0] self.DEM_path = fname self.Snow_DEMLineEdit.setText(fname)
def on_browse_Snow(self, start="."): """Opens a dialog box for selection of directory """ dialog = QtWidgets.QFileDialog(self, 'Select Working Directory') dialog.setFileMode(QtWidgets.QFileDialog.DirectoryOnly) if dialog.exec_() == QtWidgets.QDialog.Accepted: fname = dialog.selectedFiles()[0] self.log_message(f"Selected Directory: {fname}") self.Snow_WorkingDirectoryLineEdit.setText(fname)
def addLayersFromFile(self): dlgLayers = qtWdg.QFileDialog() nfile, ok = dlgLayers.getOpenFileName(None, "Afegir Capes Qgis", self.directory, "Capes Qgis (*.qlr)") if ok and nfile != '': self.directory = os.path.dirname(nfile) ok, txt = qgCor.QgsLayerDefinition.loadLayerDefinition( nfile, self.project, self.root) if not ok: print('No se pudo importar capas', txt)
def on_load_raster_Snow(self): """Open a dialog to load rasters individually """ dialog = QtWidgets.QFileDialog(self, 'Select Raster') dialog.setFileMode(QtWidgets.QFileDialog.ExistingFiles) if dialog.exec_() == QtWidgets.QDialog.Accepted: fnames = dialog.selectedFiles() if len(fnames) == 1: self.log_message(f"{len(fnames)} file loaded") else: self.log_message(f"{len(fnames)} files loaded") self.Snow_FilesList.addItems(fnames)
def saveLayersToFile(self): nodes = self.selectedNodes() if len(nodes) > 0: dlgLayers = qtWdg.QFileDialog() if self.directory is not None: dlgLayers.setDirectory(self.directory) nfile, ok = dlgLayers.getSaveFileName(None, "Desar Capes Qgis", self.directory, "Capes Qgis (*.qlr)") if ok and nfile != '': self.directory = os.path.dirname(nfile) ok, txt = qgCor.QgsLayerDefinition.exportLayerDefinition( nfile, nodes) if not ok: print('No se pudo exportar capas', txt)
def openProject(): dialegObertura = qtWdg.QFileDialog() dialegObertura.setDirectoryUrl(qtCor.QUrl('../dades/projectes/')) mapes = "Tots els mapes acceptats (*.qgs *.qgz);; " \ "Mapes Qgis (*.qgs);;Mapes Qgis comprimits (*.qgz)" nfile, _ = dialegObertura.getOpenFileName(None, "Obrir mapa Qgis", "../dades/projectes/", mapes) if nfile != '': if leyenda.player is None: leyenda.setPlayer('moduls/giphy.gif', 170, 170) leyenda.saveCanvasPosition() leyenda.printCanvasPosition('==> projectRead') ok = leyenda.project.read(nfile) if ok: leyenda.restoreCanvasPosition() else: print('Error al cargar proyecto', nfile) print(leyenda.project.error().summary())
def generate_gcode(self): machine_bounds = self.get_current_machine_bounds() extent = self.extentGroupBox.outputExtent() map_bounds = { "lon": (extent.xMinimum(), extent.xMaximum()), "lat": (extent.yMinimum(), extent.yMaximum()) } plot_speed = self.plot_speed_spinbox.value() rapid_speed = self.rapid_speed_spinbox.value() pen_down_height = self.pen_down_height_spinbox.value() pen_up_height = self.pen_up_height_spinbox.value() gcode = "" layer = self.layer_select.currentLayer() for feature in layer.getFeatures(): geom = feature.geometry() geomSingleType = QgsWkbTypes.isSingleType(geom.wkbType()) if geom.type() == QgsWkbTypes.PointGeometry: raise Exception("Point geometry not supported") elif geom.type() == QgsWkbTypes.LineGeometry: if geomSingleType: gcode += geometry2gcode(geom.asPolyline(), map_bounds, machine_bounds, pen_down_height, pen_up_height, feed=plot_speed, link_feed=rapid_speed) else: poly_geom = geom.asMultiPolyline() for poly_geom in geom.asMultiPolyline(): gcode += geometry2gcode(poly_geom, map_bounds, machine_bounds, pen_down_height, pen_up_height, feed=plot_speed, link_feed=rapid_speed) elif geom.type() == QgsWkbTypes.PolygonGeometry: if geomSingleType: for poly_geom in geom.asPolygon(): gcode += geometry2gcode(poly_geom, map_bounds, machine_bounds, pen_down_height, pen_up_height, feed=plot_speed, link_feed=rapid_speed) else: for multi_geom in geom.asMultiPolygon(): for poly_geom in multi_geom: gcode += geometry2gcode(poly_geom, map_bounds, machine_bounds, pen_down_height, pen_up_height, feed=plot_speed, link_feed=rapid_speed) else: raise Exception("Unknown or invalid geometry") dialog = QtWidgets.QFileDialog() dialog.setAcceptMode(QtWidgets.QFileDialog.AcceptSave) if dialog.exec_() == QtWidgets.QDialog.Accepted: path = dialog.selectedFiles()[0] with open(path, "w") as file: file.write(gcode)
def loadConf(self): qfd = QtWidgets.QFileDialog() filt = self.plugin.tr("Config files(*.cfg)") title = self.plugin.tr("Select config file to load") f, _ = QtWidgets.QFileDialog.getOpenFileName(qfd, title, ".", filt) self.plugin.newConfig(f)