def openClicked(self): dlg = QFileDialog(self) dlg.setDefaultSuffix("json") dlg.setFileMode(QFileDialog.ExistingFile) dlg.setAcceptMode(QFileDialog.AcceptOpen) dlg.setNameFilters(("JSON files (*.json)", "All files (*)")) if dlg.exec(): path = dlg.selectedFiles()[0] try: with WaitCursor(): with open(path, 'r') as f: d = json.load(f) warn = None if 'version' not in d: warn = "The JSON configuration file does not contain a version number. It may be incompatible with this program." else: cversion = StrictVersion(d['version']) if cversion.version[0] != jsonversion.version[0]: raise BaseException("The JSON configuration file format is not compatible with this version of %s" % QApplication.applicationDisplayName()) elif cversion.version[1] != jsonversion.version[1]: warn = "The JSON configuration file format version does not match this version of %s. Incompatibilites should be handled gracefully, but unexpected results may occur." % QApplication.applicationDisplayName() if warn: with TempDefaultCursor(): QMessageBox.warning(self, "Warning", warn) self.ui.settingsTab.unserialize(d) self.ui.experimentsTab.unserialize(d['experiments']) self.setModified(False) self.currentFileChanged.emit(path) except BaseException as e: QMessageBox.critical(self, "Error", str(e))
def load_obs(self): load = QFileDialog() load.setDefaultSuffix(".json") load.setNameFilter("JSON files (*.json)") load.setAcceptMode(QFileDialog.AcceptOpen) load.setOption(QFileDialog.DontUseNativeDialog) if load.exec_() == QFileDialog.Accepted: filename = load.selectedFiles()[0] with open(filename) as json_file: obs_dict = json.load(json_file) self.observationList.clear() for key in obs_dict: if key in self.targetsDict: targetName = key ra = self.targetsDict[targetName]["ra"] dec = self.targetsDict[targetName]["dec"] coord = SkyCoord(frame='icrs', ra=ra, dec=dec, obstime="J2000") target = FixedTarget(coord=coord, name=targetName) for date in obs_dict[key]['times']: print(date) # TODO Te pielikt date parbaudes, vai atkekset ja ir vai iznemt ja nav data = PlannedObs(target, int(obs_dict[key]['priority']), int(obs_dict[key]['obs_per_week']), int(obs_dict[key]['scans_per_obs']), obs_dict[key]['times'], obs_dict[key]['global_time']) item = QListWidgetItem(str(data), self.observationList) item.setData(Qt.UserRole, data) self.observationList.addItem(item) self.plannedTargets.append(target.name) else: self.show_error("Target error", key + " not in targets, skipping it") else: print("Something went wrong")
def FileDialog(directory='', forOpen=True, fmt='', isFolder=False): options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog options |= QFileDialog.DontUseCustomDirectoryIcons dialog = QFileDialog() dialog.setOptions(options) dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden) # ARE WE TALKING ABOUT FILES OR FOLDERS if isFolder: dialog.setFileMode(QFileDialog.DirectoryOnly) else: dialog.setFileMode(QFileDialog.AnyFile) # OPENING OR SAVING dialog.setAcceptMode(QFileDialog.AcceptOpen) if forOpen else dialog.setAcceptMode(QFileDialog.AcceptSave) # SET FORMAT, IF SPECIFIED if fmt != '' and isFolder is False: dialog.setDefaultSuffix(fmt) dialog.setNameFilters([f'{fmt} (*.{fmt})']) # SET THE STARTING DIRECTORY if directory != '': dialog.setDirectory(str(directory)) else: dialog.setDirectory(str(ROOT_DIR)) if dialog.exec_() == QDialog.Accepted: path = dialog.selectedFiles()[0] # returns a list return path else: return ''
def on_template_save_as(self): template_file = self.mainwindow.template_view_controller.selected_template if template_file is not None: fd = QFileDialog(self.mainwindow, "Save template", self.template_dialog_path) fd.setDefaultSuffix("template") filters = [ "Template files (*.template)", "JSON files (*.json)", "Any files (*)" ] fd.setNameFilters(filters) fd.setAcceptMode(QFileDialog.AcceptSave) if fd.exec(): filename = fd.selectedFiles()[0] file = open(filename, "w") template_file.file = file self.save_file(file, template_file.template) templates = self.mainwindow.template_list_controller.templates filename = template_file.file.name if filename not in templates: templates.append(filename) self.mainwindow.template_list_controller.templates = templates index = self.ui.templateListView.selectionModel().model( ).createIndex(templates.index(filename), 0) self.ui.templateListView.selectionModel().select( index, QItemSelectionModel.Select) self.mainwindow.template_view_controller.selected_template = file.name
def on_btnExportLog_clicked(self): """ Export the contents of the log tab to .csv file """ # get filename to save as dlg = QFileDialog() dlg.setAcceptMode(QFileDialog.AcceptSave) dlg.setDefaultSuffix("csv") dlg.setNameFilters(["Log File (*.csv)", "all files (*.*)"]) dlg.setDirectory(self.parent.settings.value("Default/ProjPath")) if dlg.exec_(): fileNames = dlg.selectedFiles() try: if fileNames: self.fileName = fileNames[0] # save the file with open(self.fileName, 'w', newline='') as csvfile: csvWriter = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) for row in range(self.gridLog.model().rowCount()): rowItems = [] for col in range( self.gridLog.model().columnCount()): value = self.gridLog.model().index( row, col, QModelIndex()).data(Qt.DisplayRole) rowItems.append(value) csvWriter.writerow(c for c in rowItems) except BaseException as e: msg = "{} - {} failed.".format("Write CSV", repr(e)) self.helper.displayErrMsg("Export CSV Error", msg)
def file_dlg(self, text): msg_box = QMessageBox() msg_box.setIcon(QMessageBox.Question) try: msg_box.setWindowIcon( QtGui.QIcon(os.path.join("misc", "archerrank2.svg"))) except FileNotFoundError: msg_box.setWindowIcon( QtGui.QIcon( os.path.abspath( os.path.join(os.path.dirname(sys.argv[0]), "misc", "archerrank2.svg")))) msg_box.setText(self.tr("Question")) msg_box.setInformativeText(text) msg_box.addButton(self.tr('Load'), QMessageBox.AcceptRole) msg_box.addButton(self.tr('New'), QMessageBox.AcceptRole) msg_box.addButton(self.tr('Exit'), QMessageBox.NoRole) reply = msg_box.exec_() if reply == 0: fileName, _ = QFileDialog.getOpenFileName( None, "QFileDialog.getOpenFileName()", "", "Acherrang2 Files (*.sqlite)") return fileName elif reply == 1: filedialog = QFileDialog(msg_box) filedialog.setFilter(filedialog.filter() | QtCore.QDir.Hidden) filedialog.setDefaultSuffix('sqlite') filedialog.setAcceptMode(QFileDialog.AcceptSave) filedialog.setNameFilters(["Acherrang2 Files (*.sqlite)"]) if filedialog.exec_() == QFileDialog.Accepted: return filedialog.selectedFiles()[0] return else: return "exit"
def dumpXML(self): browser = QFileDialog(self, "Pick a file to save the XML to.") browser.setAcceptMode(QFileDialog.AcceptSave) browser.setDefaultSuffix("xml") if browser.exec_() == QDialog.Accepted: exportXML(self._model, self.libraryPath, browser.selectedFiles()[0])
def save_displayed_data(self): # Bring up save dialog save_dialog = QFileDialog(self) save_dialog.setDefaultSuffix(".pkl") file_types = "Python pickle (*.pkl);;Matlab (*.mat)" save_path = save_dialog.getSaveFileName(self, 'Save displayed data', get_home_dir(), file_types) # Get the data from visuals names = [] data = [] for pc in self.get_plot_containers(): names.append(pc.container.item_widget.label.text()) data.append(self.data_array[pc.data_array_pos][0]) data = np.vstack(data) dict_out = {'channel_names': names, 'data': data} path = save_path[0] # Evaluate the extension and save if save_path[1] == "Python pickle (*.pkl)": if '.pkl' not in path: path += '.pkl' with open(path, 'wb') as fid: pickle.dump(dict_out, fid) elif save_path[1] == "Matlab (*.mat)": if '.mat' not in path: path += '.mat' savemat(path, dict_out) return
def replay(self): self.gradient = None dialog = QFileDialog() dialog.setDefaultSuffix(".pkl") fname = dialog.getOpenFileName(self, 'Select Trial to Open', os.getcwd(), '(*.log)')[0] self.playback = [] self.times = [] with open(fname) as f: for idx, row in enumerate(f.read().split("\n")): if idx == 0: pass else: try: time, toks = row.split(" -- ")[0], row.split(" -- ")[1] time = time.split("-")[1] self.times.append(time) toks = toks.split(', ') # posx, posy, mfc1, mfc2, mfc3 self.playback.append([ float(toks[1]), float(toks[2]), float(toks[4]), float(toks[5]), float(toks[6]) ]) except IndexError: pass server.run_fictrac_client(self.config_dict, self.gradient, replay=[self.times, self.playback])
def getLoadSaveFileName(self, title, filter=None, settingname=None, savesuffix=None, multiple=False, settingdefault=None): "Show a file dialog and select one or more files" setting = self.settings.value( settingname, settingdefault) if settingname is not None else None directory = setting if type(setting) is str else None dialog = QFileDialog(parent=self, caption=title, directory=directory, filter=filter) # if setting and type(setting) is not str: # dialog.restoreState(setting) dialog.setOption(QFileDialog.DontUseNativeDialog, True) if savesuffix is not None: dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setDefaultSuffix(savesuffix) elif multiple: dialog.setFileMode(QFileDialog.ExistingFiles) else: dialog.setFileMode(QFileDialog.ExistingFile) dialog.exec() files = dialog.selectedFiles() if not dialog.result() or not files: return None self.settings.setValue(settingname, os.path.dirname(files[0])) return files if multiple else files[0]
def conv_save_pressed(P, W): head = _translate('HandlerClass', 'Save Error') with open(P.fNgc, 'r') as inFile: for line in inFile: if '(new conversational file)' in line: msg0 = _translate('HandlerClass', 'An empty file cannot be saved') P.dialog_show_ok(QMessageBox.Warning, '{}'.format(head), '{}\n'.format(msg0)) return P.vkb_show() dlg = QFileDialog(W) dlg.setOptions(QFileDialog.DontUseNativeDialog) dlg.setAcceptMode(QFileDialog.AcceptSave) dlg.setNameFilters(['G-Code Files (*.ngc *.nc *.tap)', 'All Files (*)']) dlg.setDefaultSuffix('ngc') dlg.setDirectory(P.programPrefix) name = '' if dlg.exec_(): name = dlg.selectedFiles()[0] if name: COPY(P.fNgc, name) W.conv_save.setEnabled(False) conv_enable_tabs(P, W) P.vkb_show(True)
def on_btnExportTrace_clicked(self): """ Export the contents of the trace tab to .txt file """ # get filename to save as dlg = QFileDialog() dlg.setAcceptMode(QFileDialog.AcceptSave) dlg.setDefaultSuffix("txt") dlg.setNameFilters(["Trace File (*.txt)", "all files (*.*)"]) dlg.setDirectory(self.parent.settings.value("Default/ProjPath")) if dlg.exec_(): fileNames = dlg.selectedFiles() if fileNames: self.fileName = fileNames[0] # save the file file = QFile(self.fileName) if not file.open(QFile.WriteOnly | QFile.Text): self.helper.displayErrMsg( "Export Trace Error", "Cannot write file {} {}".format( self.fileName, file.errorString())) return outstr = QTextStream(file) QApplication.setOverrideCursor(Qt.WaitCursor) outstr << self.textTrace.toPlainText() QApplication.restoreOverrideCursor()
def getSaveFileName( *, parent, title, filename, filter="", default_extension: str = None, default_filter: str = None, config: 'SimpleConfig', ) -> Optional[str]: """Custom wrapper for getSaveFileName that remembers the path selected by the user.""" directory = config.get('io_dir', os.path.expanduser('~')) path = os.path.join(directory, filename) file_dialog = QFileDialog(parent, title, path, filter) file_dialog.setAcceptMode(QFileDialog.AcceptSave) if default_extension: # note: on MacOS, the selected filter's first extension seems to have priority over this... file_dialog.setDefaultSuffix(default_extension) if default_filter: assert default_filter in filter, f"default_filter={default_filter!r} does not appear in filter={filter!r}" file_dialog.selectNameFilter(default_filter) if file_dialog.exec() != QDialog.Accepted: return None selected_path = file_dialog.selectedFiles()[0] if selected_path and directory != os.path.dirname(selected_path): config.set_key('io_dir', os.path.dirname(selected_path), True) return selected_path
def export_csv(self): """ Creates and saves a csv file with the table data. """ file_dialog = QFileDialog() file_dialog.setWindowTitle('Save File') file_dialog.setDirectory(os.getcwd()) file_dialog.setAcceptMode(QFileDialog.AcceptSave) file_dialog.setNameFilter('Csv files (*.csv)') file_dialog.setDefaultSuffix('csv') if file_dialog.exec_() == QFileDialog.Accepted: path = file_dialog.selectedFiles()[0] if path: with open(path, mode="w", newline='', encoding='utf8') as csv_file: field_names = ["", "Unit", "Vap", "Liq", "Overall"] writer = csv.DictWriter(csv_file, fieldnames=field_names) writer.writeheader() for row in range(self.table.rowCount()): row_data = {} row_data[""] = self.table.verticalHeaderItem( row).text() for col in range(self.table.columnCount()): item = self.table.item(row, col) if item is not None: row_data[field_names[col + 1]] = item.text() else: row_data[field_names[col + 1]] = '' writer.writerow(row_data)
def save_file(self): try: save_window = QFileDialog() save_window.setDefaultSuffix('.png') save_window.setWindowTitle("Save Image") filters = "Image files (*.bmp *.dib *.jpeg *.jpg *.jpe *.jp2 *.png *.pgm *.ppm *.sr *.ras *tiff *.tif)" save_window.setNameFilter(filters) save_window.setAcceptMode(QFileDialog.AcceptSave) save_window.exec() # No file selected if len(save_window.selectedFiles()) == 0: return 0 file = save_window.selectedFiles()[0] extension = file.split('.')[-1] if extension == 'pgm': cv2.imwrite( file, cv2.cvtColor(self.image_box.filtered_image, cv2.COLOR_RGB2GRAY)) elif extension == 'png': cv2.imwrite(file, self.image_box.filtered_image, [cv2.IMWRITE_PNG_COMPRESSION, 9]) else: cv2.imwrite(file, self.image_box.filtered_image) except: error_message = QMessageBox() error_message.setWindowTitle("Error") error_message.setText("Error: file " + file + " failed to save") error_message.exec()
def importAction(self): fileDialog = QFileDialog(self) fileDialog.setWindowTitle("Import VisualStates File") fileDialog.setViewMode(QFileDialog.Detail) fileDialog.setNameFilters(['VisualStates File (*.xml)']) fileDialog.setDefaultSuffix('.xml') fileDialog.setAcceptMode(QFileDialog.AcceptOpen) if fileDialog.exec_(): tempPath = self.fileManager.getFullPath() file = self.fileManager.open(fileDialog.selectedFiles()[0]) if file[0] is not None: self.fileManager.setPath(tempPath) # if the current active state already has an initial state make sure that # there will not be any initial state in the imported state if self.activeState.getInitialChild() is not None: for childState in file[0].getChildren(): childState.setInitial(False) # Update importing Namespaces importedState, self.config, self.libraries, self.globalNamespace = self.importManager.updateAuxiliaryData(file, self) self.treeModel.loadFromRoot(importedState, self.activeState) self.automataScene.displayState(self.activeState) self.automataScene.setLastIndexes(self.rootState) else: self.showWarning("Wrong file selected", "The selected file is not a valid VisualStates file")
def write_csv(self): dialog = QFileDialog(self, 'Write csv file', '.', '*.csv') dialog.setDefaultSuffix('csv') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setOptions(QFileDialog.DontConfirmOverwrite) if dialog.exec() == QDialog.Accepted: name = dialog.selectedFiles() fh = open(name[0], 'w') f = self.dut.freq o = np.interp(f, self.open.freq, self.open.data, period=self.open.period) s = np.interp(f, self.short.freq, self.short.data, period=self.short.period) l = np.interp(f, self.load.freq, self.load.data, period=self.load.period) d = self.dut.data fh.write( 'frequency;open.real;open.imag;short.real;short.imag;load.real;load.imag;dut.real;dut.imag\n' ) for i in range(f.size): fh.write( '0.0%.8d;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f\n' % (f[i] * 1000, o.real[i], o.imag[i], s.real[i], s.imag[i], l.real[i], l.imag[i], d.real[i], d.imag[i])) fh.close()
def saveAsFile(self): widget = self.tab_widget.currentWidget() assert isinstance(widget, NodeEditorSpace) dialogue = QFileDialog(self, caption="Save Hivemap") dialogue.setDefaultSuffix(self._hivemapExtension) dialogue.setNameFilter(dialogue.tr("Hivemaps (*.{})".format(self._hivemapExtension))) dialogue.setFileMode(QFileDialog.AnyFile) dialogue.setAcceptMode(QFileDialog.AcceptSave) if not dialogue.exec_(): return file_path = dialogue.selectedFiles()[0] widget.save(file_path=file_path) widget.setFilePath(file_path) # Update tab name name = self._getDisplayName(file_path, allow_untitled=False) index = self.tab_widget.currentIndex() self.tab_widget.setTabText(index, name) # Update save UI elements (filename may have changed) filename self._updateMenuOptions() # Refresh hives if self._projectDirectory is not None: self.updateLoadedHives()
def handlebuttonbrowse(self): dlg = QFileDialog() dlg.setFileMode(QFileDialog.AnyFile) dlg.setAcceptMode(QFileDialog.AcceptSave) dlg.setLabelText(QFileDialog.Accept, "Save comparison") dlg.setDefaultSuffix(self.expected_extension.strip('.')) inputfilename = self.settings.get_object('inputfilename') dirname = os.path.dirname(inputfilename) suggested_filename = os.path.splitext( os.path.basename(inputfilename))[0] + self.expected_extension dlg.setDirectory(dirname) dlg.selectFile(suggested_filename) filternames = [ "%s files (*%s)" % (ext.strip('.'), ext) for ext in [self.expected_extension] ] filternames += ["all files (*)"] dlg.setNameFilters(filternames) if dlg.exec_(): self.outputfilename = str(dlg.selectedFiles()[0]) self.settings.register('outputfilename', self) self.outputfile.setText(shorten_path(self.outputfilename)) if self.outputfilename: self.compare() self.issaved = True print('Complete!') self.buttonshow.setEnabled(True)
def saveCvImage(self): global fileSelected global videoState videoState = 'pause' if fileSelected != "": dlg = QFileDialog() #dlg.setNameFilter('PNG files (*.png)') dlg.setDefaultSuffix('.png') fileNameImage, filter = dlg.getSaveFileName( self.w, 'Navigate to Directory and Choose a File Name to Save To', fileSelected + '_f' + str(frame) + '_PNG.png', 'PNG Image (*.png)') if fileNameImage != "": try: print(fileNameImage) cv2.imwrite(str(fileNameImage), self.grabDataFrame()) print('Saved frame ' + str(frame) + ' as .png') self.history.insertPlainText('SUCCESS: Saved Frame: ' + str(frame) + ' as PNG\n') self.history.moveCursor(QTextCursor.End) except: self.history.insertPlainText( 'No PNG Image Generated\n Did Not Specify Proper FileName\n' ) self.history.moveCursor(QTextCursor.End) print('Did Not Specify Proper FileName') print('No PNG Image Generated') else: self.history.insertPlainText( 'No PNG Image Generated\n Did Not Specify Proper FileName\n' ) self.history.moveCursor(QTextCursor.End) print('Did Not Specify Proper FileName') print('No PNG Image Generated')
def exportToCSV(self): # Specify default CSV export option fd = QFileDialog() fd.setDefaultSuffix("csv") saveTo = fd.getSaveFileName(filter="*.csv")[0] # No file is selected, abort export routine if not saveTo: return # Retrieve information from table items = [] for i in range(self.table.rowCount()): row = {} for j in range(self.table.columnCount()): item = self.table.item(i, j) if item != None: row[self.headers[j]] = item.text() items.append(row) # Create pandas DataFrame and export to CSV df = pd.DataFrame(items) df.to_csv(saveTo, index=False) QMessageBox.information( self, "Data exported", f"Table was successfully exported to \n{saveTo}.")
def getSaveFileNameWithSuffix(parent, caption, directory, filter, options=None, selectedFilter=None, defaultSuffix=None): """ A reimplemented version of QFileDialog.getSaveFileName() because we would like to make use of the QFileDialog.defaultSuffix property that getSaveFileName() does not let us adjust. Note: knowing the selected filter is not an invitation to change the chosen filename later. """ dialog = QFileDialog(parent=parent, caption=caption, directory=directory, filter=filter) if options: dialog.setOptions(options) if defaultSuffix: dialog.setDefaultSuffix(defaultSuffix) dialog.setFileMode(QFileDialog.AnyFile) if hasattr(dialog, 'setSupportedSchemes'): # Pre-Qt5.6 lacks this. dialog.setSupportedSchemes(("file", )) dialog.setAcceptMode(QFileDialog.AcceptSave) if selectedFilter: dialog.selectNameFilter(selectedFilter) if (dialog.exec() == QFileDialog.Accepted): return dialog.selectedFiles()[0], dialog.selectedNameFilter() return None, None
def openProjectDialog(self): fileDialog = QFileDialog() fileDialog.setDefaultSuffix("pyr") fileDialog.setFileMode(QFileDialog.ExistingFile) fileDialog.setNameFilters(["Pyree Project Files (*.pyr)", "Any files (*)"]) if fileDialog.exec(): self.openProject(fileDialog.selectedFiles()[0])
def file_dialog(dir='', for_open=True, fmt='', is_folder=False): """Dialog z eksploratorem Windows. Otwieranie/tworzenie folderów i plików.""" options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog options |= QFileDialog.DontUseCustomDirectoryIcons dialog = QFileDialog() dialog.setOptions(options) dialog.setFilter(dialog.filter() | QDir.Hidden) if is_folder: # Otwieranie folderu dialog.setFileMode(QFileDialog.DirectoryOnly) else: # Otwieranie pliku dialog.setFileMode(QFileDialog.AnyFile) # Otwieranie / zapisywanie: dialog.setAcceptMode( QFileDialog.AcceptOpen) if for_open else dialog.setAcceptMode( QFileDialog.AcceptSave) # Ustawienie filtrowania rozszerzeń plików: if fmt != '' and not is_folder: dialog.setDefaultSuffix(fmt) dialog.setNameFilters([f'{fmt} (*.{fmt})']) # Ścieżka startowa: if dir != '': dialog.setDirectory(str(dir)) else: dialog.setDirectory(str(os.environ["HOMEPATH"])) # Przekazanie ścieżki folderu/pliku: if dialog.exec_() == QDialog.Accepted: path = dialog.selectedFiles()[0] return path else: return ''
def _save_copter_as(self): dialog = QFileDialog() dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setNameFilters(["JSON files (*.json)", "All Files (*)"]) dialog.selectNameFilter("JSON files (*.json)") dialog.setDefaultSuffix("*.json") dialog.setDirectory(os.path.dirname(__copter_dir__)) save = dialog.exec_() if save: copter_file = dialog.selectedFiles() copter_name = copter_file[0].split("/")[-1] copter_name = copter_name.split(".")[0] if not self.copter.name == copter_name: rename_msg = "Rename current copter to '{}'?".format( copter_name) reply = QMessageBox.question(self, 'Message', rename_msg, QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: self.copter.name = copter_name self._init_copter_settings() json_serializer.writefile(copter_file[0], self.copter) self.settings.current_copter = copter_file[0] self.settings.save() self._open_copter_settings() return
def saveAllAnnotationsToFile(self): file_dialog = QFileDialog() file_dialog.setDefaultSuffix('mat') video_name = self.path_to_video.split('.')[0].split('Videos/')[1] saved_file_name = file_dialog.getSaveFileName( self, 'Save File', '{}.mat'.format('Saved_Results/' + video_name))[0] self.saveToFile(saved_file_name)
def on_layout_save(self): dialog = QFileDialog() dialog.setDefaultSuffix("vil") dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setNameFilters(["Vial layout (*.vil)"]) if dialog.exec_() == QDialog.Accepted: with open(dialog.selectedFiles()[0], "wb") as outf: outf.write(self.keymap_editor.save_layout())
def openProjectDialog(self): fileDialog = QFileDialog() fileDialog.setDefaultSuffix("pyr") fileDialog.setFileMode(QFileDialog.ExistingFile) fileDialog.setNameFilters( ["Pyree Project Files (*.pyr)", "Any files (*)"]) if fileDialog.exec(): self.openProject(fileDialog.selectedFiles()[0])
def read_cfg(self): dialog = QFileDialog(self, 'Read configuration settings', '.', '*.ini') dialog.setDefaultSuffix('ini') dialog.setAcceptMode(QFileDialog.AcceptOpen) if dialog.exec() == QDialog.Accepted: name = dialog.selectedFiles() settings = QSettings(name[0], QSettings.IniFormat) self.read_cfg_settings(settings)
def file_chooser(self): dialog = QFileDialog() dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden) dialog.setDefaultSuffix("mp4") dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setNameFilters(["H.264 (*.mp4)", "MKV (*.mkv)"]) if dialog.exec_() == QDialog.Accepted: self.a6c1.setText(dialog.selectedFiles()[0])
def dialog_file_select(self): dlg = QFileDialog() dlg.setDefaultSuffix('.HDF5') path, filter = dlg.getOpenFileName(self, 'Open File', "", 'HDF5 (*.HDF5);; All Files (*)') print(path) self.dispSelectedFile.setText(path) self.open_file(path)
def on_button_clicked(self): caption = 'Vyberte výstupní soubor' dialog = QFileDialog(self, caption) dialog.setFileMode(QFileDialog.AnyFile) dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setNameFilter('CSV soubory (*.csv)') dialog.setDefaultSuffix('csv') if dialog.exec_(): self.setFilename(dialog.selectedFiles()[0])
def write_cfg(self): dialog = QFileDialog(self, 'Write configuration settings', '.', '*.ini') dialog.setDefaultSuffix('ini') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setOptions(QFileDialog.DontConfirmOverwrite) if dialog.exec() == QDialog.Accepted: name = dialog.selectedFiles() settings = QSettings(name[0], QSettings.IniFormat) self.write_cfg_settings(settings)
def saveFileDialog(self): saveDialog = QFileDialog() saveDialog.setAcceptMode(QFileDialog.AcceptSave) saveDialog.setFileMode(QFileDialog.AnyFile) saveDialog.setDefaultSuffix('sgf') # TODO this does not work fileName, _ = saveDialog.getSaveFileName( self, "Save Game SGF", "", "Smart Game Files (*.sgf)",) if fileName: self.gameW.save(fileName)
def saveProjectDialog(self, saveAs = False): if saveAs or self.currentProject.filePath is None: fileDialog = QFileDialog() fileDialog.setDefaultSuffix("pyr") fileDialog.setFileMode(QFileDialog.AnyFile) fileDialog.setNameFilters(["Pyree Project Files (*.pyr)", "Any files (*)"]) if fileDialog.exec(): self.currentProject.saveToFile(fileDialog.selectedFiles()[0]) else: self.currentProject.saveToFile(self.currentProject.filePath)
def open_file(self): dlg = QFileDialog(self) dlg.setWindowTitle('Open image') dlg.setViewMode(QFileDialog.Detail) dlg.setNameFilters([self.tr('Image Files (*.bmp)'), self.tr('All Files (*)')]) dlg.setDefaultSuffix('.bmp') functions.set_style_sheet(dlg, STYLE_SHEET) if dlg.exec_() : self.piximage = piximage2.PixImage(dlg.selectedFiles()[0]) self.display()
def open_text(self): # Show loading page self.taggedTextWidget.stop() self.taggedTextWidget.showLoading() self.taggedDocumentWidget.stop() self.taggedDocumentWidget.showLoading() dialog = QFileDialog(self) dialog.setNameFilters([self.tr('Text Files (*.txt)'), self.tr('All Files (*)')]) dialog.setDefaultSuffix('.txt') file_name = dialog.getOpenFileName(self, 'Open file') self.progressBar.setVisible(True) self.progressBar_2.setVisible(True) self.progressBar_3.setVisible(True) if file_name[0] != '': text = codecs.open(file_name[0], "r", "utf-8").read() # We need to create new TextWorker self.tag = (TextWorker(), QtCore.QThread()) # prompt for custom common words list msg = QMessageBox() question = "Do you want to choose a custom list of domain specific common words?" reply = msg.question(self, 'Message', question, msg.Yes, msg.No) if reply == msg.Yes: dialog = QFileDialog(self) dialog.setNameFilters([self.tr('Text Files (*.txt)'), self.tr('All Files (*)')]) dialog.setDefaultSuffix('.txt') file_name = dialog.getOpenFileName(self, 'Open file') self.tag[0].common_words_file = file_name[0] else: self.tag[0].common_words_file = "textparser/wordlist.txt" self.tag[0].TextToParse = text self.textEdit.setText(text) # Gray out all buttons self.openButton_1.setEnabled(False) self.openButton_2.setEnabled(False) self.actionText_ffnen.setEnabled(False) self.textEditApply.setEnabled(False) self.textEditApplyMarked.setEnabled(False) self.textEditSave.setEnabled(False) # Create Thread self.tag[1].objThread = QtCore.QThread() self.tag[0].moveToThread(self.tag[1]) self.tag[0].finished.connect(self.tag[1].quit) self.tag[0].updated.connect(self.updateWorkerInfo); # self.tag[0].finished.connect(self.finishOpen) self.tag[1].started.connect(self.tag[0].longRunning) self.tag[1].finished.connect(self.finishOpen) self.tag[1].start()
def saveTextEdit(self): filename = "" dialog = QFileDialog(self, 'Save File') dialog.setNameFilters([self.tr('Text Files (*.txt)'), self.tr('All Files (*)')]) dialog.setDefaultSuffix('.txt') filename = dialog.getSaveFileName() file = filename[0] if not file.endswith('.txt'): file += ".txt" f = open(file, 'w') filedata = self.textEdit.toPlainText() f.write(filedata) f.close()
def write_s2p(self, gain): dialog = QFileDialog(self, 'Write s2p file', '.', '*.s2p') dialog.setDefaultSuffix('s2p') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setOptions(QFileDialog.DontConfirmOverwrite) if dialog.exec() == QDialog.Accepted: name = dialog.selectedFiles() fh = open(name[0], 'w') freq = self.dut.freq gamma = self.gamma(freq) fh.write('# GHz S MA R 50\n') for i in range(freq.size): fh.write('0.0%.8d %8.6f %7.2f %8.6f %7.2f 0.000000 0.00 0.000000 0.00\n' % (freq[i] * 1000, np.absolute(gamma[i]), np.angle(gamma[i], deg = True), np.absolute(gain[i]), np.angle(gain[i], deg = True))) fh.close()
def openAction(self): fileDialog = QFileDialog(self) fileDialog.setWindowTitle("Open VisualStates File") fileDialog.setViewMode(QFileDialog.Detail) fileDialog.setNameFilters(['VisualStates File (*.xml)']) fileDialog.setDefaultSuffix('.xml') fileDialog.setAcceptMode(QFileDialog.AcceptOpen) if fileDialog.exec_(): (self.rootState, self.config, self.libraries) = self.fileManager.open(fileDialog.selectedFiles()[0]) self.treeModel.removeAll() self.treeModel.loadFromRoot(self.rootState) # set the active state as the loaded state self.automataScene.setActiveState(self.rootState) self.automataScene.setLastIndexes(self.rootState)
def write_s1p(self): dialog = QFileDialog(self, 'Write s1p file', '.', '*.s1p') dialog.setDefaultSuffix('s1p') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setOptions(QFileDialog.DontConfirmOverwrite) if dialog.exec() == QDialog.Accepted: name = dialog.selectedFiles() fh = open(name[0], 'w') gamma = self.gamma() size = self.sizeValue.value() fh.write('# GHz S MA R 50\n') for i in range(0, size): fh.write('0.0%.8d %8.6f %7.2f\n' % (self.xaxis[i], np.absolute(gamma[i]), np.angle(gamma[i], deg = True))) fh.close()
def write_csv(self): dialog = QFileDialog(self, 'Write csv file', '.', '*.csv') dialog.setDefaultSuffix('csv') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setOptions(QFileDialog.DontConfirmOverwrite) if dialog.exec() == QDialog.Accepted: name = dialog.selectedFiles() fh = open(name[0], 'w') gamma = self.gamma() size = self.sizeValue.value() fh.write('frequency;open.real;open.imag;short.real;short.imag;load.real;load.imag;dut.real;dut.imag\n') for i in range(0, size): fh.write('0.0%.8d;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f\n' % (self.xaxis[i], self.open.real[i], self.open.imag[i], self.short.real[i], self.short.imag[i], self.load.real[i], self.load.imag[i], self.dut.real[i], self.dut.imag[i])) fh.close()
def _browseForFilepath(self): starting_dir = os.path.expanduser("~") if self._fullPathOutputSlot.ready(): starting_dir = os.path.split(self._fullPathOutputSlot.value)[0] dlg = QFileDialog(self, "Export Location", starting_dir, self._file_filter) dlg.setDefaultSuffix(self._extension) dlg.setAcceptMode(QFileDialog.AcceptSave) if not dlg.exec_(): return exportPath = dlg.selectedFiles()[0] self._filepathSlot.setValue(exportPath) self.filepathEdit.setText(exportPath)
def write_csv(self): dialog = QFileDialog(self, 'Write csv file', '.', '*.csv') dialog.setDefaultSuffix('csv') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setOptions(QFileDialog.DontConfirmOverwrite) if dialog.exec() == QDialog.Accepted: name = dialog.selectedFiles() fh = open(name[0], 'w') f = self.dut.freq o = self.interp(f, self.open) s = self.interp(f, self.short) l = self.interp(f, self.load) d = self.dut.data fh.write('frequency;open.real;open.imag;short.real;short.imag;load.real;load.imag;dut.real;dut.imag\n') for i in range(f.size): fh.write('0.0%.8d;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f\n' % (f[i] * 1000, o.real[i], o.imag[i], s.real[i], s.imag[i], l.real[i], l.imag[i], d.real[i], d.imag[i])) fh.close()
def _browseForFilepath(self): from lazyflow.utility import PathComponents if self._fullPathOutputSlot.ready(): starting_dir = PathComponents(self._fullPathOutputSlot.value).externalDirectory else: starting_dir = os.path.expanduser("~") dlg = QFileDialog(self, "Export Location", starting_dir, "N5 Files (*.n5)") dlg.setDefaultSuffix("n5") dlg.setAcceptMode(QFileDialog.AcceptSave) if not dlg.exec_(): return exportPath = dlg.selectedFiles()[0] self.filepathEdit.setText(exportPath) self._filepathSlot.setValue(exportPath)
def _get_save_file_name(self, file_format): if file_format == export.FileFormat.XLSX: file_filter = FileNameFilters.xlsx_file extension = 'xlsx' else: file_filter = FileNameFilters.csv_file extension = 'csv' save_dialog = QFileDialog(parent=self, caption=_('Save listing as...'), filter=file_filter) save_dialog.setOptions(QFileDialog.DontUseNativeDialog) save_dialog.setDefaultSuffix(extension) save_dialog.setFileMode(QFileDialog.AnyFile) save_dialog.setAcceptMode(QFileDialog.AcceptSave) filename = None if save_dialog.exec_(): filename_list = save_dialog.selectedFiles() if len(filename_list) == 1: filename = filename_list[0] return filename
def dialog_export_exam_config(self): """Displays the dialog for exporting the current exam configuration. If accepted by the user, it returns the filename. Returns None if cancelled. """ save_dialog = QFileDialog(parent=self.window, caption=_('Save exam configration as...'), filter=_('Exam configuration (*.eye)')) save_dialog.setOptions(QFileDialog.DontUseNativeDialog) save_dialog.setDefaultSuffix('eye') save_dialog.setFileMode(QFileDialog.AnyFile) save_dialog.setAcceptMode(QFileDialog.AcceptSave) filename = None if save_dialog.exec_(): filename_list = save_dialog.selectedFiles() if len(filename_list) == 1: filename = filename_list[0] return filename
def save_file(self): dlg = QFileDialog(self) dlg.setWindowTitle('Open image') dlg.setViewMode(QFileDialog.Detail) dlg.setFileMode(QFileDialog.AnyFile) dlg.setAcceptMode(QFileDialog.AcceptSave) dlg.setNameFilters([self.tr('Image Files (*.bmp)'), self.tr('All Files (*)')]) dlg.setDefaultSuffix('.bmp') functions.set_style_sheet(dlg, STYLE_SHEET) if dlg.exec_(): path = dlg.selectedFiles()[0] i = self.ui.tabWidget.currentIndex() if self.piximage is not None: if (i == 0): self.piximage.image_o.save(path) elif (i == 1): self.piximage.image_t.save(path) elif (i == 2): self.piximage.image_t_color.save(path)
def saveTrace(self,checked): #diag = QFileDialog.getSaveFileName(self, "Select destination", "./", "Comma Separated Values (*.csv)"); diag = QFileDialog(self); diag.setAcceptMode(QFileDialog.AcceptSave) #Save file, not open one diag.setNameFilter("Comma Separated Values (*.csv);;Space separated Values (*.csv)"); diag.setDefaultSuffix("csv"); # Make sure selected files end in .csv diag.exec(); try: filename = diag.selectedFiles()[0]; except IndexError: filename = ''; user_filter = diag.selectedNameFilter(); if (user_filter == "Space separated Values (*.csv)"): delimiter = " "; else: delimiter = ","; if (filename != '' and not os.path.isdir(filename)): npzfile = self.last_result; t = npzfile["t"]; cos2 = npzfile["cos2"]; cos2d = npzfile["cos2d"]; extra_header = []; extra_columns = []; if ('Javg' in npzfile.keys()): Javg = npzfile["Javg"]; std = npzfile["std"]; psi_pulse = npzfile["psi"]; psi_final = psi_pulse[-1]; psi_out=numpy.abs(psi_final)**2; percentile_999 = npzfile["percentile_999"]; extra_header = ["<J>","std(J)","J_99.9%","Probability coefficients"]; extra_columns = [Javg,std,percentile_999,psi_out]; utils.save_to_csv(filename,t,cos2,cos2d,extra_header,extra_columns,delimiter);