def saveReport(self): filename, filter = QFileDialog.getSaveFileName( None, self.tr("Save report to:"), ".", self.tr("Excel files (*.xlsx)")) if filename: if filter == self.tr( "Excel files (*.xlsx)") and filename[-5:] != '.xlsx': filename = filename + '.xlsx' else: return report = XLSX(filename) # sheet = report.add_report_sheet(self.tr("Report")) # # model = self.table_view.model() # headers = {} # for col in range(model.columnCount()): # headers[col] = (model.headerData(col, Qt.Horizontal), report.formats.ColumnHeader()) # report.write_row(sheet, 0, headers) # # for row in range(model.rowCount()): # data_row = {} # for col in range(model.columnCount()): # data_row[col] = (model.data(model.index(row, col)), report.formats.Text(row)) # report.write_row(sheet, row+1, data_row) report.save()
def save_as(self): sig_filter = 'Signature library (*.sig)' json_zlib_filter = 'Compressed JSON signature library (*.json.zlib)' json_filter = 'JSON signature library (*.json)' pkl_filter = 'Pickled signature library (*.pkl)' fname, filter = QFileDialog.getSaveFileName(self, 'Open file', filter=';;'.join([ sig_filter, json_zlib_filter, json_filter, pkl_filter ])) if filter == json_zlib_filter: with open(fname, 'wb') as f: f.write( zlib.compress( sig_serialize_json.serialize( self.sig_trie).encode('utf-8'))) elif filter == json_filter: with open(fname, 'w') as f: json.dump(sig_serialize_json.serialize(self.sig_trie), f, indent=4) elif filter == sig_filter: with open(fname, 'wb') as f: f.write(sig_serialize_fb.SignatureLibraryWriter().serialize( self.sig_trie)) elif filter == pkl_filter: with open(fname, 'wb') as f: pickle.dump(self.sig_trie, f) else: return print('Saved as ' + fname)
def browse_file(self): save_file = QFileDialog.getSaveFileName(self, caption="Save File As", filter="All Files (*.*)", dir=".") self.ui.txt_dest.setText(save_file[0])
def button_target_clicked(self): """ Callback for button_target """ target_path, _ = QFileDialog.getSaveFileName(self, "Save Video", "", "Video Files (*.mkv)") self.ui.line_target.setText(target_path)
def saveAs(self): fileName, _ = QFileDialog.getSaveFileName(self, "Save As", self.curFile) if not fileName: return False return self.saveFile(fileName)
def ExportTeams(self): export_dir = self.config["save_route"] if self.config["save_route"] \ is not None else THISDIR exported_file = QFileDialog.getSaveFileName(self, "Save File", export_dir, "Save files (*.zip)") if exported_file[0] != "": export_filename = exported_file[0] if export_filename.endswith(".zip") is False: export_filename += ".zip" files_to_export = [] files_to_export.append("config\\teams.json") for root, directories, files in os.walk(THISDIR+"\\images\\logos"): for filename in files: filepath = os.path.join(root, filename) files_to_export.append(filepath) with ZipFile(export_filename, "w") as export_zip: for exp_file in files_to_export: export_name = exp_file if exp_file.endswith(".json"): split_name = exp_file.split("\\") export_name = split_name[-1] if exp_file.endswith(".png"): split_name = exp_file.split("\\") export_name = "\\logos\\" + split_name[-1] export_zip.write(exp_file, arcname=export_name) export_zip.close() if os.path.exists(export_filename): QMessageBox.information(self, "Export", "The export was successful")
def getNewFile(self): address, x = QFileDialog.getSaveFileName(self, "Salvar como", filter = "Text files (*.csv);; Text files (*.txt);; Planilha do Microsoft Excel (*.xlsx)" ) if len(address) > 0: self.folder.setText(address) self.folder.setModified(True)
def _prompt_save_database(self): open_result = QFileDialog.getSaveFileName( self, caption="Select a Randovania database path.", filter="*.json") if not open_result or open_result == ("", ""): return self._save_database(Path(open_result[0]))
def on_action_export_cybercard(self): contents = self.midcom.get_dat() filename = QFileDialog.getSaveFileName( parent=self.window, caption='Export Tax File to Cybercard Format', filter='SD Card Tax File (*.dat)') print(f'Writing to {filename[0]} in Cybercard format.') self.write_file(filename[0], contents)
def download_file(self): file_path = QFileDialog.getSaveFileName(self, 'Save File', 'C:\\', 'Texts (*.txt)')[0] file_content = get_chapter('single', self.b_id, self.chap_id)[1] if file_content == []: self.display_status_message('Fail to download.', 2000) with open(file_path, 'w', encoding='utf-8') as fp: fp.write(file_content) self.display_status_message('Successfully downloaded.', 2000)
def saveAs(self, f): saveAs = QFileDialog() saveAs.setDefaultSuffix('.json') self.timer.stop() fileName, _ = saveAs.getSaveFileName(parent=self.window, filter="JSON (*.json)", caption="Save as json file.") self.timer.start(1) if fileName: self.saveDefaultPath = fileName self.save(f)
def save_preset(self): presets_dir = os.path.join(os.path.dirname(__file__), "presets") if not os.path.exists(presets_dir): os.makedirs(presets_dir) file = QFileDialog.getSaveFileName(self, SettingsWindow.SAVE_PRESET_TEXT, presets_dir, "Configuration files (*.ini)")[0] if file: settings = QSettings(file, QSettings.IniFormat) self.save_settings_from_fields(settings)
def saveFileDialog(self): options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog fileName, _ = QFileDialog.getSaveFileName( self, "QFileDialog.getSaveFileName()", "", "All Files (*);;Text Files (*.txt)", options=options) if fileName: print(fileName)
def save_png(self): pdf_folder = self.settings.value('pdf_folder') file_name, _ = QFileDialog.getSaveFileName(self, "Save an image file.", dir=pdf_folder, filter='Images (*.png)') if not file_name: return writer = QPixmap(1000, 2000) self.paint_puzzle(writer) writer.save(file_name) self.settings.setValue('pdf_folder', os.path.dirname(file_name))
def write_image(self): if not self.is_loaded: self.ui.output_label.setText("Изображение не загружено в программу") return path, _ = QFileDialog.getSaveFileName(self, "Сохранить изображение", "", "Допустимые форматы (*.png)") if self.image.save(path, "PNG"): self.ui.output_label.setText(f"Изображение успешно сохранено в {path}") return else: self.ui.output_label.setText('Не удалось сохранить изображение')
def get_filename(self, save=True): self.backup_name = None if save: filename, filter = QFileDialog.getSaveFileName(None, self.tr("Save backup to:"), ".", self.tr("Archives (*.tgz)")) if filename: if filter == self.tr("Archives (*.tgz)") and filename[-4:] != '.tgz': filename = filename + '.tgz' else: filename, _filter = QFileDialog.getOpenFileName(None, self.tr("Select file with backup"), ".", self.tr("Archives (*.tgz)")) if filename: self.backup_name = filename
def save_pdf(self): pdf_folder = self.settings.value('pdf_folder') file_name, _ = QFileDialog.getSaveFileName(self, "Save a PDF file.", dir=pdf_folder, filter='Documents (*.pdf)') if not file_name: return self.settings.setValue('pdf_folder', os.path.dirname(file_name)) writer = QPdfWriter(file_name) writer.setPageSize(QPageSize(QPageSize.Letter)) writer.setTitle('Sliced Art Puzzle') writer.setCreator('Don Kirkby') self.paint_puzzle(writer)
def _handle_file_save(self, overwrite=False): if not overwrite or not self._loaded_config.path: file_path = QFileDialog.getSaveFileName( self, caption="Save the current config...", dir=os.getcwd(), filter="Config Files (*.yml *.yaml)", )[0] else: file_path = self._loaded_config.path if file_path: self.config.save(file_path) self.reset_changes(file_path)
def SaveChip(self, saveAs=False) -> bool: if saveAs or not AppGlobals.Chip().HasBeenSaved(): filename, filterType = QFileDialog.getSaveFileName( self, "Save Chip", filter="uChip Project File (*.ucc)") if filename: AppGlobals.Chip().SaveToFile(Path(filename)) AppGlobals.Instance().onChipSaved.emit() return True return False else: AppGlobals.Chip().SaveToFile(AppGlobals.Chip().path) AppGlobals.Instance().onChipSaved.emit() return True
def fileSaveDialog(parent: Optional[QWidget], title: str, folder: str = '', filter: str = '', extension: str = '') -> Optional[Path]: path = QFileDialog.getSaveFileName(parent, title, folder, filter)[0] if not path: return None if not path.endswith('.' + extension): path += '.' + extension return Path(path)
def export_file(self, f, text, ffilter="*"): """Export to file.""" fname = QFileDialog.getSaveFileName(self, text, filter=ffilter)[0] if fname: if ffilter != "*": exts = [ext.replace("*", "") for ext in ffilter.split()] maxsuffixes = max([ext.count(".") for ext in exts]) suffixes = Path(fname).suffixes for i in range(-maxsuffixes, 0): ext = "".join(suffixes[i:]) if ext in exts: return f(fname) fname = fname + exts[0] return f(fname)
def on_select_clicked(self): if self.main_window.config.path: config_dir = os.path.dirname(self.main_window.config.path) else: config_dir = os.getcwd() file_path = QFileDialog.getSaveFileName( self.tab, caption="Select a file...", dir=config_dir, options=QFileDialog.DontConfirmOverwrite, )[0] if file_path: self.name_field.setText(os.path.relpath(file_path, config_dir))
def save_header_file(self): ''' 保存key value ''' path_text = self.lineEdit_headers_path.text().strip() if path_text == '': # 弹窗保存文件的对话框 if getattr(sys, 'frozen', False): app_path = Path(sys.executable).parent.resolve().as_posix() else: app_path = Path(__file__).parent.parent.parent.parent.resolve().as_posix() path_text, selectedFilter = QFileDialog.getSaveFileName(None, caption="save as *.json", dir=app_path, filter='Json (*.json)') if not path_text: return Path(path_text).write_text(json.dumps(self.config, ensure_ascii=False, indent=4), encoding='utf-8')
def save_file(self, term_list): filename = QFileDialog.getSaveFileName( self, 'Save file', '', 'All Files (*)' )[0] i = self.combo.currentIndex() if i == 0: s.write_csv(term_list, filename + '.csv') elif i == 1: s.write_txt(term_list, filename + '.txt') elif i == 2: s.write_xls(term_list, filename + '.xls') elif i == 3: s.write_anki(term_list, self.add_deck_box.text(), filename + '.apkg')
def saveFile(self): fileName, _ = QFileDialog.getSaveFileName(self, "选择输出文件名", "", "CVS文件 (*.csv)") if fileName: self.ofile = fileName if self.ui.checkBox.isChecked(): (pname, ext) = os.path.splitext(fileName) self.ofileadd = pname + "-新增名单" + ext self.ofilerem = pname + "-删减名单" + ext self.logger(u"新增学生名单将保存为:" + self.ofileadd) self.logger(u"删减学生名单将保存为:" + self.ofilerem) else: self.logger(u"注册名单将保存为:" + fileName) else: self.ofile = "" self.logger("用户取消操作")
def SavePicture(self): data = self.waifu2xData if self.waifu2xData else self.data if not data: return try: today = time.strftime("%Y%m%d%H%M%S", time.localtime(time.time())) picFormat = self.format if self.format else "jpg" filepath = QFileDialog.getSaveFileName(self, "Save", "{}.{}".format(today, picFormat)) if filepath and len(filepath) >= 1 and filepath[0]: name = filepath[0] f = open(name, "wb") f.write(data) f.close() except Exception as es: Log.Error(es) return
def exportToAndOTP(self): accounts = [] for account in self.base.getAccounts(): type = account['type'] if type == Globals.OTPAuth: accounts.append({ 'secret': account['key'], 'digits': 6, 'period': 30, 'label': account['name'], 'type': 'TOTP', 'algorithm': 'SHA1', 'thumbnail': 'Default', 'last_used': 0, 'tags': [] }) elif type == Globals.SteamAuth: accounts.append({ 'secret': base64.b32encode(base64.b64decode( account['sharedSecret'])).decode('utf-8'), 'digits': 5, 'period': 30, 'label': account['name'], 'type': 'STEAM', 'algorithm': 'SHA1', 'thumbnail': 'Default', 'last_used': 0, 'tags': [] }) accounts = json.dumps(accounts) filename, _ = QFileDialog.getSaveFileName( self, 'Export to andOTP JSON file', '', 'All Files (*)') if filename: with open(filename, 'w') as file: file.write(accounts)
def save(self): filename, _ = QFileDialog.getSaveFileName(self, "Choose a file name", '.', "HTML (*.html *.htm)") if not filename: return file = QFile(filename) if not file.open(QFile.WriteOnly | QFile.Text): QMessageBox.warning( self, "Dock Widgets", "Cannot write file %s:\n%s." % (filename, file.errorString())) return out = QTextStream(file) QApplication.setOverrideCursor(Qt.WaitCursor) out << self.textEdit.toHtml() QApplication.restoreOverrideCursor() self.statusBar().showMessage("Saved '%s'" % filename, 2000)
def OnFileBtn(self, type): if type == 'XLS': selector = (self.tr("Save tax reports to:"), self.tr("Excel files (*.xlsx)"), '.xlsx', self.XlsFileName) elif type == 'DLSG': last_digit = self.year % 10 selector = (self.tr("Save tax form to:"), self.tr(f"Tax form (*.dc{last_digit})"), f".dc{last_digit}", self.DlsgFileName) else: raise ValueError filename = QFileDialog.getSaveFileName(self, selector[0], ".", selector[1]) if filename[0]: if filename[1] == selector[ 1] and filename[0][-len(selector[2]):] != selector[2]: selector[3].setText(filename[0] + selector[2]) else: selector[3].setText(filename[0])
def on_new_db(self): settings = get_settings() db_path = settings.value('db_path') file_name, _ = QFileDialog.getSaveFileName( self, "Create a new database", dir=db_path, filter='Player databases (*.zpl)', options=QFileDialog.DontUseNativeDialog) if not file_name: return script_path = str(Path(__file__).parent / 'db') database_path = Path(file_name).absolute() settings.setValue('db_path', str(database_path)) database_url = get_database_url(database_path) alembic_config = Config( config_args=immutabledict({ 'script_location': script_path, 'sqlalchemy.url': database_url })) command.upgrade(alembic_config, 'head')