def openFile(self, file_path): if os.path.exists(file_path): path = QFileDialog.getOpenFileName(self, "Open File Dialog", file_path, "XML files(*.xml)") else: path = QFileDialog.getOpenFileName(self, "Open File Dialog", "/", "XML files(*.xml)") print(path) self.document = IOXML.parseXML(str(path[0])) self.target_platform = ProcessTag.getRootElementAttributeValue( self.document, 'platform') # self.CVE = ProcessTag.getRootElementAttributeValue(self.document, 'CVE') self.url = ProcessTag.getRootElementAttributeValue( self.document, 'url')
def _handle_file_open(self): if self.config_has_changes: msg = QMessageBox( QMessageBox.Warning, "Are you sure?", ("You have unsaved changes to your current config. " "If you continue all unsaved changes will be lost."), buttons=QMessageBox.Open | QMessageBox.Cancel, ) if msg.exec_() == QMessageBox.Cancel: return file_path = QFileDialog.getOpenFileName( self, caption="Open a new config...", dir=os.getcwd(), filter="Config Files (*.yml *.yaml)", )[0] if file_path: self.reset_changes(file_path) # update the new log location self.update_log_paths(file_path) # setup the config tabs self.initialise_config_tabs(self.config)
def import_organs(self): self.check_change = False path = QFileDialog.getOpenFileName(self, "Open Data File", "", "CSV data files (*.csv)")[0] if path != "": with open(path, newline="") as stream: next(stream) for rowdata in csv.reader(stream): if len(rowdata) != 3 or len(rowdata) != 4: buttonReply = QMessageBox.warning( self, "Error Message", "Import a csv with 3 or 4 columns and the data with the displayed order!", QMessageBox.Ok, ) if buttonReply == QMessageBox.Ok: pass else: row = self.table_organ.rowCount() self.table_organ.insertRow(row) self.table_organ.setColumnCount(len(rowdata)) for column, data in enumerate(rowdata): item = QTableWidgetItem(data) self.table_organ.setItem(row, column, item) self.check_change = True
def open_file(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.getOpenFileName(self, 'Open file', filter=';;'.join([ sig_filter, json_zlib_filter, json_filter, pkl_filter ])) if filter and fname: print('Opening signature library %s' % (fname, )) if filter == json_zlib_filter: with open(fname, 'rb') as f: json_trie = zlib.decompress(f.read()).decode('utf-8') sig_trie = sig_serialize_json.deserialize(json.loads(json_trie)) elif filter == json_filter: with open(fname, 'r') as f: json_trie = f.read() sig_trie = sig_serialize_json.deserialize(json.loads(json_trie)) elif filter == sig_filter: with open(fname, 'rb') as f: fb_trie = f.read() sig_trie = sig_serialize_fb.SignatureLibraryReader().deserialize( fb_trie) elif filter == pkl_filter: with open(fname, 'rb') as f: sig_trie = pickle.load(f) else: return self.open_trie(sig_trie, os.path.basename(fname))
def chooseFile(self, bname): fileName, _ = QFileDialog.getOpenFileName(self, "选择xlsx文件", "", "Excel文件 (*.xlsx)") if bname == "all": if fileName: self.adf = fileName self.ui.lineEdit_jwc.setText(fileName) else: self.adf = "" self.ui.lineEdit_jwc.setText("") self.updateButton() return if bname == "bb": if fileName: self.bbdf = fileName self.ui.lineEdit_bb.setText(fileName) else: self.bbdf = "" self.ui.lineEdit_bb.setText("") self.updateButton() return if bname == "all-new": if fileName: self.andf = fileName self.ui.lineEdit_jwc_new.setText(fileName) else: self.andf = "" self.ui.lineEdit_jwc_new.setText("") self.updateButton() return
def select_source(self): source = QFileDialog.getOpenFileName( self, "Select Source", "C:/", ) self.ui.timelineSourceLine.setText(source[0])
def OpenChip(self): filename, filterType = QFileDialog.getOpenFileName( self, "Browse for Chip", filter="uChip Project File (*.ucc)") if filename: if not self.CloseChip(): return AppGlobals.OpenChip(Chip.LoadFromFile(Path(filename)))
def update_data(self): QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) meta_data = get_metadata(self.url_name) if os.path.exists(self.db_name): os.remove(self.db_name) conn, cursor = open_db(self.db_name) setup_school_db(cursor) process_data(self.url_name, meta_data, cursor) close_db(conn) QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor)) file_name = QFileDialog.getOpenFileName( self, "Please select an .xlsx file to import from")[0] print(file_name, " was the file selected.") conn, cursor = open_db(self.db_name) QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) read_excel_data(file_name, cursor) close_db(conn) QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor)) self.statusBar().showMessage( f"Update success from: {file_name} on {datetime.now()}") return file_name
def button_source_clicked(self): """ Callback for button_source """ source_path, _ = QFileDialog.getOpenFileName( self, "Open Video", "", "Video Files (*.mkv *.avi *.mov *.mp4)") self.ui.line_source.setText(source_path)
def load(self, action): statement_loader = self.sources[action.data()] statement_file, active_filter = QFileDialog.getOpenFileName( None, self.tr("Select statement file to import"), ".", statement_loader['filter']) if not statement_file: return try: module = importlib.import_module( f"jal.data_import.{statement_loader['module']}") except ModuleNotFoundError: logging.error( self.tr("Statement loader module not found: ") + statement_loader['module']) return class_instance = getattr(module, statement_loader['loader_class']) statement = class_instance() try: statement.load(statement_file) statement.validate_format() statement.match_db_ids(verbal=False) totals = statement.import_into_db() except Statement_ImportError as e: logging.error(self.tr("Import failed: ") + str(e)) self.load_failed.emit() return self.load_completed.emit(statement.period()[1], totals)
def change_cover_art(self): dir_setting = 'song_dir' if self.item_type == TreeWidgetType.SONG else 'album_dir' for e in self.tree_indexes: dir = e.data(CustomDataRole.ITEMDATA).get_value(dir_setting) break file = QFileDialog.getOpenFileName(self, "Import album artwork", dir, SUPPORTED_IMAGE_FILTER)[0] self.findChild(CoverArtDisplay).set(file)
def MatDialog(self): mat_dialog = QFileDialog(self) mat_dialog = QFileDialog.getOpenFileName(filter="Images (*.png *.jpg)", selectedFilter="Images (*.png *.jpg)") if mat_dialog[0] != "": self.GenerateMat(mat_dialog[0])
def open_property_list(self): file_name, _ = QFileDialog.getOpenFileName(self, "Open Property List", '', "Property List Files (*.plist)") if file_name: settings = QSettings(file_name, QSettings.NativeFormat) self.set_settings_object(settings) self.fallbacks_action.setEnabled(False)
def loadFileSlipJSON(self): json_file, _filter = \ QFileDialog.getOpenFileName(self, self.tr("Select file with slip JSON data"), ".", "JSON files (*.json)") if json_file: with open(json_file) as f: self.slip_json = json.load(f) self.parseJSON()
def greetings(self): print(f"Hello {self.edit.text()}") fileName = QFileDialog.getOpenFileName() x = fileName[0] print(x) print(fileName[0]) print(type(fileName)) print(dir(fileName)) print(type(fileName[0]))
def on_customGraphvizButton_clicked(self): file_name = QFileDialog.getOpenFileName(self, self.tr("Select Graphviz dot executable"), self.ui.customGraphvizEdit.text()) file_name = file_name[0] if file_name: self.ui.customGraphvizEdit.setText(file_name) self.ui.customGraphvizRadio.setChecked(True)
def on_customPlantUmlButton_clicked(self): file_name = QFileDialog.getOpenFileName(self, self.tr("Select plantuml.jar"), self.ui.customPlantUmlEdit.text()) file_name = file_name[0] if file_name: self.ui.customPlantUmlEdit.setText(file_name) self.ui.customPlantUmlRadio.setChecked(True)
def searchFile(self): address, x = QFileDialog.getOpenFileName(self, "Selecione um arquivo", filter = "Text files (*.txt *.csv *.xlsx)" ) if len(address) > 0: self.path.setText(address) self.path.setModified(True) self.fileformat = address[address.index('.'):] self.updateTable()
def xdf_chunks(self): """Show XDF chunks.""" fname = QFileDialog.getOpenFileName(self, "Select XDF file", filter="*.xdf *.xdfz *.xdf.gz")[0] if fname: chunks = list_chunks(fname) dialog = XDFChunksDialog(self, chunks, fname) dialog.exec_()
def import_file(self, f, text, ffilter="*"): """Import file.""" fname = QFileDialog.getOpenFileName(self, text, filter=ffilter)[0] if fname: try: f(fname) except LabelsNotFoundError as e: QMessageBox.critical(self, "Channel labels not found", str(e)) except InvalidAnnotationsError as e: QMessageBox.critical(self, "Invalid annotations", str(e))
def browse_insert(self): try: fileName, _ = QFileDialog.getOpenFileName( self, "Browse for image files", "", "All Files (*);;PNG files (*.png)") self.insertImgPath.setText(fileName) img_tmp = Image.open(fileName) iwidth, iheight = img_tmp.size except: pass
def pushButtonClicked(self): # self.FileOpen = QFileDialog.getOpenFileName(self, '열기', './') ''' 특정 확장자 검색 https://doc.qt.io/qt-5/qfiledialog.html 참조 ''' # self.FileOpen = QFileDialog.getOpenFileName(self, '열기', '','Images (*.png *.jpg *.bmp);; All File(*)') self.FileOpen = QFileDialog.getOpenFileName(self, '열기', '','Images (*.png *.jpg *.bmp)') # self.files.setText(self.FileOpen[0]) print(self.FileOpen[0])
def on_customJavaPathButton_clicked(self): # qDebug("on_customJavaPathButton_clicked") file_name = QFileDialog.getOpenFileName(self, self.tr("Select Java executable"), self.ui.customJavaPathEdit.text()) file_name = file_name[0] if file_name: self.ui.customJavaPathEdit.setText(file_name) self.ui.customJavaRadio.setChecked(True)
def BrowseForImage(self): filename, filterType = QFileDialog.getOpenFileName( self, "Browse for Image", filter="Images (*.png *.bmp *.jpg *.jpeg *.tif *.tiff)") if filename: newImage = Image(Path(filename)) AppGlobals.Chip().images.append(newImage) AppGlobals.Instance().onChipModified.emit() self.viewer.CenterItem(self.viewer.AddItem( ImageChipItem(newImage)))
def load(self, f): self.timer.stop() fileName, _ = QFileDialog.getOpenFileName(parent=self.window, filter="JSON (*.json)") self.timer.start() if fileName: self.saveDefaultPath = fileName self.game: Game = f(fileName, trigger=self.trigger, maxTime=self.game.allowedTime) self.updateView()
def load_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.getOpenFileName(self, SettingsWindow.LOAD_PRESET_TEXT, presets_dir, "Configuration files (*.ini)")[0] if file: settings = QSettings(file, QSettings.IniFormat) self.set_fields_from_settings(settings)
def _open_file_name_dialog(self): options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog file_name, _ = QFileDialog.getOpenFileName( self, "QFileDialog.getOpenFileName()", "", "All Files (*);;Python Files (*.py)", options=options) if file_name: print(file_name)
def loadFileQR(self): self.initUi() qr_file, _filter = \ QFileDialog.getOpenFileName(self, self.tr("Select file with QR code"), ".", "JPEG images (*.jpg);;PNG images (*.png)") if qr_file: barcodes = pyzbar.decode(Image.open(qr_file), symbols=[pyzbar.ZBarSymbol.QRCODE]) if barcodes: self.qr_data_available.emit(barcodes[0].data.decode('utf-8')) else: logging.warning('ImportSlipDialog', "No QR codes were found in file")
def read_image(self): self.is_loaded = False path, _ = QFileDialog.getOpenFileName(self, "Открыть картинку", "", "Допустимые форматы (*.png)") if not self.image.load(path): self.ui.output_label.setText("Изображение не загружено!") return self.image.convertTo(QImage.Format_ARGB32) self.image_capacity = (self.image.width() * self.image.height() * 3) // 8 - len(self.indicator) - 4 self.ui.output_label.setText("Изображение успешно загружено") self.is_loaded = True
def open_data(self, fname=None): """Open raw file.""" if fname is None: fname = QFileDialog.getOpenFileName(self, "Open raw")[0] if fname: if not (Path(fname).is_file() or Path(fname).is_dir()): self._remove_recent(fname) QMessageBox.critical(self, "File does not exist", f"File {fname} does not exist anymore.") return ext = "".join(Path(fname).suffixes) if any([ext.endswith(e) for e in (".xdf", ".xdfz", ".xdf.gz")]): rows, disabled = [], [] for idx, s in enumerate(resolve_streams(fname)): rows.append([ s["stream_id"], s["name"], s["type"], s["channel_count"], s["channel_format"], s["nominal_srate"] ]) is_marker = (s["nominal_srate"] == 0 or s["channel_format"] == "string") if is_marker: # disable marker streams disabled.append(idx) enabled = list(set(range(len(rows))) - set(disabled)) if enabled: selected = enabled[0] else: selected = None dialog = XDFStreamsDialog(self, rows, selected=selected, disabled=disabled) if dialog.exec(): row = dialog.view.selectionModel().selectedRows()[0].row() stream_id = dialog.model.data(dialog.model.index(row, 0)) srate = "effective" if dialog.effective_srate else "nominal" prefix_markers = dialog.prefix_markers kwargs = {} if srate == "nominal": kwargs["srate"] = srate if prefix_markers: kwargs["prefix_markers"] = prefix_markers self.model.load(fname, stream_id=stream_id, **kwargs) else: # all other file formats try: self.model.load(fname) except FileNotFoundError as e: QMessageBox.critical(self, "File not found", str(e)) except ValueError as e: QMessageBox.critical(self, "Unknown file type", str(e))