def __select_Dir(self): dialog = QFileDialog() dialog.setFileMode(QFileDialog.Directory) dialog.setOption(QFileDialog.ShowDirsOnly, True) if dialog.exec_(): self.__ui.edt_Path.setText(dialog.selectedFiles()[0])
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 dlg_export(parent): dialog = QFileDialog(parent) dialog.setWindowTitle(_("Export the simulation as")) dialog.setAcceptMode(QFileDialog.AcceptSave) types=[] types.append(_("gpvdm archive input+output files (*.gpvdm)")) types.append(_("gpvdm archive input files (*.gpvdm)")) types.append(_("optical materials database (*.zip)")) types.append(_("pdf file (*.pdf)")) types.append(_("jpg image (*.jpg)")) types.append(_("tex file (*.tex)")) types.append(_("Excel file (*.xlsx)")) dialog.setNameFilters(types) dialog.setFileMode(QFileDialog.ExistingFile) dialog.setAcceptMode(QFileDialog.AcceptSave) if dialog.exec_() == QDialog.Accepted: file_name = dialog.selectedFiles()[0] if dialog.selectedNameFilter()==_("gpvdm archive input+output files (*.gpvdm)"): export_archive(file_name,True) elif dialog.selectedNameFilter()==_("gpvdm archive input files (*.gpvdm)"): export_archive(file_name,False) elif dialog.selectedNameFilter()==_("optical materials database (*.zip)"): export_materials(file_name) elif dialog.selectedNameFilter()==_("pdf file (*.pdf)") or dialog.selectedNameFilter()==_("jpg image (*.jpg)") or dialog.selectedNameFilter()==_("tex file (*.tex)"): export_as(file_name) elif dialog.selectedNameFilter()==_("Excel file (*.xlsx)"): gen_workbook(os.getcwd(),file_name)
def getImageFileNamesToOpen(cls, parent_window, defaultDirectory): """ opens a QFileDialog for importing files """ extensions = ['nn'] filter_strs = ["*." + x for x in extensions] filters = ["{filt} ({filt})".format(filt=x) for x in filter_strs] filt_all_str = "Image files (" + ' '.join(filter_strs) + ')' fileNames = [] if ilastik_config.getboolean("ilastik", "debug"): # use Qt dialog in debug mode (more portable?) file_dialog = QFileDialog(parent_window, "Select Model") file_dialog.setOption(QFileDialog.DontUseNativeDialog, True) # do not display file types associated with a filter # the line for "Image files" is too long otherwise file_dialog.setNameFilters([filt_all_str] + filters) #file_dialog.setNameFilterDetailsVisible(False) # select multiple files file_dialog.setFileMode(QFileDialog.ExistingFiles) file_dialog.setDirectory(defaultDirectory) if file_dialog.exec_(): fileNames = file_dialog.selectedFiles() else: # otherwise, use native dialog of the present platform fileNames, _ = QFileDialog.getOpenFileNames(parent_window, "Select Model", defaultDirectory, filt_all_str) return fileNames
def download(self, reply): filepath = reply.url().toString() #dl = self.showBox('Iniciar download de', filepath) #if dl == QMessageBox.Yes: split = urllib.parse.urlsplit(filepath) filename = split.path.split("/")[-1] ofd = QFileDialog() ofd.setFileMode(QFileDialog.Directory) ofd.setOption(QFileDialog.ShowDirsOnly) ofd.setWindowTitle(filename) if ofd.exec_(): res = ofd.selectedFiles()[0] path = os.path.join(res, filename) self.start_download.emit(str(filepath), str(path)) #elif dl == QMessageBox.No: # pass #elif dl == QMessageBox.Cancel: # pass rep = self.showBox('Tentar reproduzir o arquivo?', filepath) if rep == QMessageBox.Yes: self.open_video.emit(filepath, False) self.close() main.hide() elif rep == QMessageBox.No: pass elif rep == QMessageBox.Cancel: pass
def _fileDialog(acceptMode, fileMode, parent=None, caption='', directory='', filters=(), selectedFilter=None, options=0): nameFilters = make_filters(filters) dialog = QFileDialog(parent, caption, directory) dialog.setNameFilters(nameFilters) dialog.setAcceptMode(acceptMode) dialog.setFileMode(fileMode) dialog.setOptions(QFileDialog.Options(options)) if selectedFilter is not None: dialog.selectNameFilter(nameFilters[selectedFilter]) if dialog.exec_() != QDialog.Accepted: return None filename = dialog.selectedFiles()[0] if fileMode != QFileDialog.Directory: selectedFilter = nameFilters.index(dialog.selectedNameFilter()) _, ext = os.path.splitext(filename) if not ext: ext = filters[selectedFilter][1] # use first extension if ext.startswith('*.') and ext != '*.*': return filename + ext[1:] # remove leading '*' return filename
def browse_dialog(self, args): widget, groupbox, directory = args dialog = QFileDialog() if directory: dialog.setFileMode(QFileDialog.Directory) path = dialog.getExistingDirectory( self, groupbox.title(), widget.text(), QFileDialog.ShowDirsOnly) else: dialog.setFileMode(QFileDialog.ExistingFile) path, _ = dialog.getOpenFileName( self, groupbox.title(), widget.text(), "%s (*%s);;All files (*)" % (groupbox.title(), DLL_FILTER)) if not path: return widget.setText(path) if widget == self.pathLibrary: self.parent.worker.quit() if not self.parent.worker.core.get_handle(): self.parent.worker.init(path) if self.parent.worker.core.get_handle(): self.core = self.parent.worker.core self.set_core() self.set_video() self.parent.window_size_triggered(self.get_size_safe()) self.parent.state_changed.emit((True, False, False, False)) elif widget == self.pathPlugins: self.parent.worker.plugins_shutdown() self.parent.worker.plugins_unload() self.parent.worker.plugins_load(path) self.parent.worker.plugins_startup() self.set_plugins()
def make_file_dialog(name_filters, file_mode, directory, parent, native): dialog = QFileDialog(parent) dialog.setOption(QFileDialog.DontUseNativeDialog, not native) dialog.setDirectory(directory) dialog.setFileMode(file_mode) dialog.setNameFilter(dialog.tr(name_filters)) return dialog
def get_save_file_name(initial_name: str, wav_only=False, caption="Save signal"): global RECENT_PATH if caption == "Save signal": name_filter = "Complex files (*.complex);;Complex16 files (2 unsigned int8) " \ "(*.complex16u);;Complex16 files (2 signed int8) (*.complex16s);;" \ "Compressed complex files (*.coco);;wav files (*.wav);;all files (*)" if wav_only: name_filter = "wav files (*.wav);;all files (*)" elif caption == "Save fuzz profile": name_filter = "Fuzzfiles (*.fuzz);;All files (*)" elif caption == "Save encoding": name_filter = "" else: name_filter = "Protocols (*.proto);;All files (*)" filename = None dialog = QFileDialog() dialog.setFileMode(QFileDialog.AnyFile) dialog.setNameFilter(name_filter) dialog.setViewMode(QFileDialog.Detail) dialog.setDirectory(RECENT_PATH) dialog.setLabelText(QFileDialog.Accept, "Save") dialog.setWindowTitle(caption) dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.selectFile(initial_name) if dialog.exec(): filename = dialog.selectedFiles()[0] if filename: RECENT_PATH = os.path.split(filename)[0] return filename
def upload_python_clicked(self): file_dialog = QFileDialog() file_dialog.setFileMode(QFileDialog.AnyFile) file = file_dialog.getOpenFileName(self, 'Open Python File', '', "Python Files (*.py)") for line in re.split("/",str(file[0])): if ".py" in line: global pyfile pyfile = line
def on_hdf5_dir_pushButton_clicked(self): dlg = QFileDialog() dlg.setFileMode(QFileDialog.Directory) config = self.getCurrentConfig() dlg.setDirectory(config['hdf5']['dir']) if dlg.exec_(): dirname = dlg.selectedFiles() self.hdf5_dir_lineEdit.setText(dirname[0])
def _browse_files(self): ''' Pops file dialog window up. :returns: path to selected file ''' file_dialog = QFileDialog() file_dialog.setFileMode(QFileDialog.ExistingFile) return file_dialog.getOpenFileName()[0]
def saveDialog(name, filter): """ Create non-native save file dialog. """ qfd = QFileDialog(getWindow(), name) qfd.setNameFilter(filter) qfd.setFileMode(QFileDialog.AnyFile) qfd.setOptions(QFileDialog.DontUseNativeDialog) qfd.setAcceptMode(QFileDialog.AcceptSave) qfd.setViewMode(QFileDialog.List) return qfd
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 openDialog(name, filter): """ Create non-native open file dialog. """ qfd = QFileDialog(getWindow(), name) qfd.setNameFilter(filter) qfd.setFileMode(QFileDialog.ExistingFile) qfd.setOptions(QFileDialog.DontUseNativeDialog) qfd.setAcceptMode(QFileDialog.AcceptOpen) qfd.setViewMode(QFileDialog.List) return qfd
def on_actionLoadFrom_triggered(self): """Loads state from file.""" dialog = QFileDialog() dialog.setFileMode(QFileDialog.ExistingFile) file_path, _ = dialog.getOpenFileName( self, self.tr("Load State From File"), os.path.join(self.worker.core.config.get_path("UserData"), "save"), "M64P/PJ64 Saves (*.st* *.m64p *.zip *.pj);;All files (*)") if file_path: self.worker.state_load(file_path)
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 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 callback_import(self, widget, data=None): dialog = QFileDialog(self) dialog.setWindowTitle(_("Import an old gpvdm simulation")) dialog.setNameFilter('Simulations - gpvdm (*.gpvdm *.opvdm)') dialog.setFileMode(QFileDialog.ExistingFile) if dialog.exec_() == QDialog.Accepted: filename = dialog.selectedFiles()[0] import_archive(filename,os.path.join(os.getcwd(),"sim.gpvdm"),False) self.change_dir_and_refresh_interface(os.getcwd())
def choose_file(self): """ Fires up user dialog letting him choose file to be opened. """ dialog = QFileDialog() dialog.setFileMode(QFileDialog.ExistingFile) dialog.setNameFilter(config.FILE_TYPE) if dialog.exec(): file_name = dialog.selectedFiles()[0] self.open_file(file_name)
def navigate_directory(self): dialog = QFileDialog() dialog.setDirectory(self._root_dir) dialog.setFileMode(QFileDialog.Directory) dialog.setOption(QFileDialog.ShowDirsOnly) dialog.exec() path = dialog.selectedFiles() if path and path[0]: self._root_dir = path[0] self.localPathEdit.setText(self._root_dir) self.update_file_tree()
def load_regime_dialog(self): regime_path = os.path.join(os.curdir) dialog = QFileDialog(self) dialog.setFileMode(QFileDialog.ExistingFile) dialog.setDirectory(regime_path) dialog.setNameFilter("Simulation Regime files (*.sreg)") if dialog.exec_(): file = dialog.selectedFiles()[0] self.load_regimes_from_file(file)
def on_action_Import_triggered(self): caption = 'Import csv dat' dialog = QFileDialog(self, caption) dialog.setFileMode(QFileDialog.ExistingFile) dialog.setNameFilters(['CSV soubory (*.csv)', 'Všechny soubory (*)']) if dialog.exec_(): importDialog = ImportDialog() importDialog.setFilename(dialog.selectedFiles()[0]) importDialog.exec_() self.updateData() self.blocksWidget.updateData() self.measurementsWidget.updateData()
def on_pushButton_PathToQtSdk_Select_clicked(self): # Create file dialog fileDialog = QFileDialog() fileDialog.setWindowTitle("Select path to Qt SDK...") fileDialog.setFileMode(QFileDialog.Directory) # Open file dialog wasFileSelected = fileDialog.exec() if wasFileSelected: selectedFolder = self.getNormalizedPath(fileDialog) self.lineEdit_PathToQtSdk.setText(selectedFolder) self.settings.setValue(keyPathToQtSdk, selectedFolder)
def on_actionManually_triggered(self): """Shows ROM file dialog.""" dialog = QFileDialog() dialog.setFileMode(QFileDialog.ExistingFile) last_dir = self.settings.qset.value("last_dir") file_path, _ = dialog.getOpenFileName( self, self.tr("Load ROM Image"), last_dir, "Nintendo64 ROM (%s);;All files (*)" % EXT_FILTER) if file_path: self.file_open.emit(file_path, None) last_dir = QFileInfo(file_path).path() self.settings.qset.setValue("last_dir", last_dir)
def pick(self): dlg = QFileDialog(self, self.title, lastDir, self.filters) if self.save: # dlg.setDefaultSuffix(self._extension) dlg.setAcceptMode(QFileDialog.AcceptSave) else: dlg.setAcceptMode(QFileDialog.AcceptOpen) dlg.setFileMode(QFileDialog.ExistingFile) if not dlg.exec(): return self.wtext.setText(dlg.selectedFiles()[0])
def on_pushButton_PathToApplicationBinary_Select_clicked(self): # Create file dialog fileDialog = QFileDialog() fileDialog.setWindowTitle("Select a Qt application binary...") fileDialog.setFileMode(QFileDialog.ExistingFile) fileDialog.setNameFilter("*.exe") # Open file dialog wasFileSelected = fileDialog.exec() if wasFileSelected: selectedFile = self.getNormalizedPath(fileDialog) self.lineEdit_PathToApplicationBinary.setText(selectedFile) self.settings.setValue(keyPathToApplicationBinary, selectedFile)
def load_result_files(self): path = self._settings.value("path/simulation_results") dialog = QFileDialog(self) dialog.setFileMode(QFileDialog.ExistingFiles) dialog.setDirectory(path) dialog.setNameFilter("PyMoskito Result files (*.pmr)") if dialog.exec_(): files = dialog.selectedFiles() for single_file in files: if single_file: self._load_result_file(single_file)
def cmenu_set_bg(self): fileNames = '' dialog = QFileDialog(self.tabWidget) dialog.setFileMode(QFileDialog.AnyFile) if dialog.exec_(): fileNames = dialog.selectedFiles() if len(fileNames): if fileNames[0] != '': path = fileNames[0] self.set_background_for_tab_with_name(self.tabWidget.currentWidget().name, path)
def load_post_result_files(self): path = self._settings.value("path/processing_results") dialog = QFileDialog(self) dialog.setFileMode(QFileDialog.ExistingFiles) dialog.setDirectory(path) dialog.setNameFilter("Postprocessing Output files (*.pof)") if dialog.exec_(): files = dialog.selectedFiles() for single_file in files: if single_file: self._load_post_result_file(single_file)
def attach(self): self.attachments = [] filter = "Tutti file (*);;TXT (*.txt);;PDF (*.pdf)" file_name = QFileDialog() file_name.setFileMode(QFileDialog.ExistingFiles) names = file_name.getOpenFileNames(None, "Allegati", ".", filter) for n in names[0]: self.ui.logger.info("Attachment {}".format(n)) self.attachments.append(n) text = ", ".join([os.path.basename(f) for f in self.attachments]) if len(text) > 100: text = text[:97] + "..." self.ui.labelAtt.setText(text)
def open(self): fileName = "" dialog = QFileDialog() dialog.setFileMode(QFileDialog.AnyFile) dialog.setNameFilter("UXDesigner (*.uxd)All (*)") dialog.setWindowTitle("Load Project") dialog.setOption(QFileDialog.DontUseNativeDialog, True) dialog.setAcceptMode(QFileDialog.AcceptOpen) dialog.setDirectory(path.join(self.install_directory, "sources")) if dialog.exec_(): fileName = dialog.selectedFiles()[0] del dialog if not fileName: return self.loadProject(fileName)
def get_text_file(self): """读取文本内容""" file_dialog = QFileDialog(parent=self, caption="获取文本文件", directory=FileDialogDemo.root_dir) file_dialog.setFileMode(QFileDialog.AnyFile) # file_dialog.setFilter(QDir.Files) file_dialog.setNameFilter("all files (*)") if file_dialog.exec(): filenames = file_dialog.selectedFiles() # -> list(str) file = open(filenames[0], 'r', encoding="utf-8", errors='ignore') with file: data = file.read() self.textedit.setText(data)
def getOpenFileNames(parent, *args, **kwargs): """ Workaround to give control about hidden files """ dlg = QFileDialog(parent, *args, **kwargs) dlg.setOption(dlg.DontUseNativeDialog, True) dlg.setOption(dlg.HideNameFilterDetails, True) dlg.setFileMode(dlg.ExistingFiles) if hiddenFiles(parent): dlg.setFilter(dlg.filter() | QDir.Hidden) if dlg.exec_() == QDialog.Accepted: return dlg.selectedFiles() return [ str(), ]
def get_file(self) -> dict: print('load file ') dlg = QFileDialog() dlg.setFileMode(QFileDialog.AnyFile) # QFileDialog.ExistingFiles可选择打开多个文件,返回文件路径列表 # dlg.setFileMode(QFileDialog.ExistingFiles) dlg.setFilter(QDir.Files) if dlg.exec_(): # 返回的是打开文件的路径列表 filenames = dlg.selectedFiles() with open(filenames[0], 'r') as f: data = f.read() dic = json.loads(data) return dic
def bindList(self): from PyQt5.QtWidgets import QFileDialog import openpyxl dir = QFileDialog() dir.setFileMode(QFileDialog.ExistingFiles) dir.setDirectory('C:\\') dir.setNameFilter('Excel(*.xlsx *.xls)') if dir.exec_(): filenames = dir.selectedFiles() self.listWidget.addItems(dir.selectedFiles()) f = openpyxl.load_workbook(filenames[0]) self.sheet1 = f["Sheet1"] f.close() self.pushButton.setEnabled(False) self.pushButton_4.setEnabled(True)
def _add(self): dialog = QFileDialog(self, 'Library Folders') dialog.setFileMode(QFileDialog.Directory) result = ActionResult() if dialog.exec_(): filenames = dialog.selectedFiles() if not filenames: return for filename in filenames: temp_result = library_service.add(filename) result.merge(temp_result) self._post_process(result)
def loadClicked(self): fileName = "" dialog = QFileDialog() dialog.setFileMode(QFileDialog.AnyFile) dialog.setNameFilter("FlatSiteBuilder (*.qml);;All (*)") dialog.setWindowTitle("Load Site") dialog.setOption(QFileDialog.DontUseNativeDialog, True) dialog.setAcceptMode(QFileDialog.AcceptOpen) dialog.setDirectory(self.default_path) if dialog.exec_(): fileName = dialog.selectedFiles()[0] del dialog if not fileName: return self.loadSite.emit(fileName)
def btn_clk(self): dialog = QFileDialog() dialog.setFileMode(QFileDialog.AnyFile) dialog.setFilter(QDir.Files) if dialog.exec_(): self.file_name = dialog.selectedFiles()[0] self.label.setText(self.file_name) self.update() self.data = pd.read_csv(self.file_name, sep=";") model = DataFrameModel(self.data) self.tableView.setModel(model)
def addss(self): global entries global image_paths file_ = QFileDialog() filter = "PNG (*.png);;JPEG (*.jpeg)" #filename = QFileDialog.getOpenFileName() file_.setFileMode(QFileDialog.ExistingFiles) image_paths = file_.getOpenFileNames(self, "Open files", "C\\Desktop", filter) image_paths = image_paths[0] entries = [name.split('/')[-1] for name in image_paths] for i in entries: lstItem = QtWidgets.QListWidgetItem(i) lstItem.setFlags(Qt.NoItemFlags) self.listWidget.addItem(lstItem)
def openFileDialog(self): fileDialog = QFileDialog() fileDialog.setFileMode(QFileDialog.ExistingFile) fileDialog.setViewMode(QFileDialog.List) filter = "Videos *.mp4; *.avi; *.mkv" fileDialogTitle = "Load Video" initialDir = "E:\\" self.fileName, _filter = fileDialog.getOpenFileNames( self.centralWidget, fileDialogTitle, initialDir, filter) if not self.fileName: print("No files") else: print(str(len(self.fileName)) + " files selected") print(self.fileName[0]) self.faceDetector.player_init(self.fileName[0])
def save_plots(self): """Сохранить графики в файл""" file_dialogue = QFileDialog() file_dialogue.setFileMode(QFileDialog.AnyFile) file_dialogue.setAcceptMode(QFileDialog.AcceptSave) name_filters = ["PNG images (*.png)", "All files (*.*)"] file_dialogue.setNameFilters(name_filters) if file_dialogue.exec(): filename = file_dialogue.selectedFiles()[0] try: self.canvas.figure.savefig(filename) except PermissionError as e: QMessageBox.warning(self, "Error", str(e)) self.canvas.draw() file_dialogue.deleteLater()
def on_click_file(self): dialog = QFileDialog() dialog.setFileMode(QFileDialog.AnyFile) dialog.setFilter(QDir.Files) dialog.setNameFilter("Text Files (*.txt)") if dialog.exec_(): file_name = dialog.selectedFiles() if file_name[0].endswith('.txt'): with open(file_name[0], 'r') as f: message = f.read() self.textbox.setText(message) f.close() else: pass
def setServerPath(self): #Attempt to search for a new folder location. If this is canceled or otherwise fails #then we should just go back to where we were. self.statusbar.showMessage('Not ready yet') return d = QFileDialog() d.setFileMode(2) d.setViewMode(0) d.setDirectory(os.getcwd()) if(d.exec()): #If a folder was selected then the path should be the selected folder. folderPath = d.selectedFiles()[0] self.client.setServerPath(folderPath) self.statusbar.showMessage('New Server: ' + folderPath) self.refresh()
def selectImages(self): '''Prompts the user for images and adds them to the current set.''' dialog = QFileDialog(self, caption='Open Images', directory=os.getcwd(), filter='Images (*.png *.jpg)') dialog.setFileMode(QFileDialog.ExistingFiles) if dialog.exec_(): filenames = dialog.selectedFiles() else: filenames = [] self.addItems(filenames)
def browse_for_wiki(self): "Use a file browser dialog to replace the path to a wiki." dlg = QFileDialog(self, caption="Browse for wiki", filter="HTML files (*.html);;All files (*)") if self.form.type_.currentText().lower() == 'folder': mode = QFileDialog.Directory else: mode = QFileDialog.ExistingFile dlg.setFileMode(mode) retval = dlg.exec_() if retval != 0: filename = dlg.selectedFiles()[0] self.form.path_.setText(filename)
def on_btn_choose_ext_prog_clicked(self): dialog = QFileDialog() dialog.setFileMode(QFileDialog.ExistingFile) dialog.setWindowTitle("Choose external program") if dialog.exec_(): try: file_name = dialog.selectedFiles()[0] except IndexError: file_name = "" else: file_name = "" if file_name: self.line_edit_external_program.setText(file_name)
def libraryLocation(self): browser = QFileDialog( self, f"Choose where to place the {self._mode} library", ) browser.setFileMode(QFileDialog.DirectoryOnly) if browser.exec_() == QDialog.Accepted: self.settings.setValue(f'{self._mode}/libraryPath', browser.selectedFiles()[0]) QMessageBox.information( self, 'Library location changed', 'Library location changed.\n\n' 'Reopen desutunes to load the new library.') self.close()
def open(self): fileName = "" dialog = QFileDialog() dialog.setFileMode(QFileDialog.AnyFile) dialog.setNameFilter("EbookCreator (book.qml);;All (*)") dialog.setWindowTitle("Load Ebook") dialog.setOption(QFileDialog.DontUseNativeDialog, True) dialog.setAcceptMode(QFileDialog.AcceptOpen) dialog.setDirectory(os.path.join(self.install_directory, "sources")) if dialog.exec_(): fileName = dialog.selectedFiles()[0] del dialog if not fileName: return self.loadBook(fileName)
class FileChooserButton(QPushButton): path_chosen_signal = pyqtSignal(Path) # emits the selected path def __init__(self, text, file_mode=QFileDialog.AnyFile, name_filters=None): super().__init__() self.file_mode = file_mode self.name_filters = name_filters self.selection_made = False self.path = None self.setText(text) self.clicked.connect(self.open_dialog) def open_dialog(self): """ Opens a file chooser dialog to the user. """ # regarding #setFileMode and why we don't use it: # QFileDialog.ExistingFiles appears to override QFileDialog.Directory, # so I don't see a way to support selecting multiple files and selecting # directories in the same widget, unless we make our own QDialog class. self.dialog = QFileDialog(self) self.dialog.setFileMode(self.file_mode) if self.name_filters: self.dialog.setNameFilters(self.name_filters) self.start_dir = self.dialog.directory().absolutePath() # recommended over #exec by qt https://doc.qt.io/qt-5/qdialog.html#exec self.dialog.open() self.dialog.finished.connect(self.process_selection) def process_selection(self): """ process whatever the user has chosen (either a folder, file, or multiple files). """ files = self.dialog.selectedFiles() # will only be 1 file at most, but could be 0 (if the user canceled) if not files: self.selection_made = False return path = files[0] self.selection_made = path != self.start_dir # TODO truncate path, ideally with qt size policies but might not be # possible with those alone path = Path(path) self.path = path self.path_chosen_signal.emit(path)
def get_save_file_name(initial_name: str, wav_only=False, caption="Save signal", selected_name_filter=None): global RECENT_PATH if caption == "Save signal": name_filter = "Complex (*.complex);;" \ "Complex16 unsigned (*.complex16u *.cu8);;" \ "Complex16 signed (*.complex16s *.cs8);;" \ "Complex32 unsigned (*.complex32u *.cu16);;" \ "Complex32 signed (*.complex32s *.cs16);;" \ "Complex compressed (*.coco);;" \ "WAV (*.wav);;" \ "All Files (*)" if wav_only: name_filter = "WAV (*.wav);;All Files (*)" elif caption == "Save fuzz profile": name_filter = "Fuzzing Profile (*.fuzz.xml *.fuzz);;All Files (*)" elif caption == "Save encoding": name_filter = "" elif caption == "Save simulator profile": name_filter = "Simulator (*.sim.xml *.sim);;All Files (*)" elif caption == "Export spectrogram": name_filter = "Frequency Time (*.ft);;Frequency Time Amplitude (*.fta)" else: name_filter = "Protocols (*.proto.xml *.proto);;Binary Protocol (*.bin);;All Files (*)" filename = None dialog = QFileDialog(directory=RECENT_PATH, caption=caption, filter=name_filter) dialog.setFileMode(QFileDialog.AnyFile) dialog.setViewMode(QFileDialog.Detail) dialog.setLabelText(QFileDialog.Accept, "Save") dialog.setAcceptMode(QFileDialog.AcceptSave) if selected_name_filter is not None: dialog.selectNameFilter(selected_name_filter) dialog.selectFile(initial_name) if dialog.exec(): filename = dialog.selectedFiles()[0] if filename: RECENT_PATH = os.path.split(filename)[0] return filename
def selectSetupFile(self): """ Get path to the setup file """ if self.setup_folder: dialog = QFileDialog(self) dialog.setWindowTitle('Select executable') dialog.setNameFilter('Executable files (*.exe)') dialog.setDirectory(self.setup_folder) dialog.setFileMode(QFileDialog.ExistingFile) if dialog.exec_() == QDialog.Accepted: file_full_path = str(dialog.selectedFiles()[0]) self.setup_file = str(dialog.selectedFiles()[0]) else: return None else: QMessageBox.about(self, "Error", "Please specify setup folder first.")
def file_open(self): dlg = QFileDialog() dlg.setFileMode(QFileDialog.AnyFile) if dlg.exec_(): filename = dlg.selectedFiles() text = "" try: file = open(filename[0], "r") for x in file.readlines(): text = text + x self.Text.setPlainText(text) self.Text.moveCursor(QTextCursor.End) self.originalText = text file.close() except: print(Utils.Constants.ERROR_CAN_NOT_OPEN_FILE)
def _setBg(self): self._debug("Changing background") fdia=QFileDialog() fchoosed='' fdia.setFileMode(QFileDialog.AnyFile) if os.path.isdir("/usr/share/lliurex/pixmaps/lliurex_art/stamps"): fdia.setDirectory("/usr/share/lliurex/pixmaps/lliurex_art/stamps") else: fdia.setDirectory("/usr/share/backgrounds") fdia.setNameFilter(_("images(*.png *.svg *jpg *bmp)")) if (fdia.exec_()): fchoosed=fdia.selectedFiles()[0] self.bg=fdia.selectedFiles()[0] icn=QtGui.QIcon(self.bg) self.btn_img.setIcon(icn) return(fchoosed)
def selectcase(self): try: file = QFileDialog() file.setFileMode(QFileDialog.AnyFile) file.setFilter(QDir.Files) if file.exec_(): filename = file.selectedFiles() if PATHDATA['TestCase'] != filename[0]: self.pathchanged.emit() PATHDATA['TestCase'] = filename[0] self.caseLable.setText(filename[0]) else: pass except IOError: logger.exception("选择数据不符规则数据无效")
def select_output_location_from_qfiledialog_callback_fxn(self): """ Opens a file (right now really only a directory) selection dialogue. Allows to browser for an output location (directory). To specify a file name, add it manually, until a suitable solution has been found. """ # TODO: Use a file selection dialog which is able to select both files or folders! any found examples so far failed! # TODO: Improve user experience in general dialog = QFileDialog(self, 'Pick output directory') dialog.setFileMode(QFileDialog.Directory) if dialog.exec_() == 1: output_dir = dialog.selectedFiles()[0] self.output_location_input.setText(output_dir)
def on_anonymize(self): ''' Slot that will be called if the user clicks the Anonymize button. It will pop up a dialog to chose the destination folder for the anonymized files ''' images = self.dicom_parser.get_image_data() if images.shape[0]: dialog = QFileDialog(self, 'Select destination folder') dialog.setFileMode(QFileDialog.DirectoryOnly) dialog.setOption(QFileDialog.ShowDirsOnly, False) if(dialog.exec()): folder_path = dialog.directory().absolutePath() self.dicom_parser.annonymize(folder_path) else: print("Before annonymize, open a file or folder")
def onBrowseHandBrakeCLI(self): """ Browse for the location of the HandBrakeCLI. """ dlg = QFileDialog(QApplication.instance().mainWindow, 'Select HandBrakeCLI', self.lineEdit_HandBrakeCLI.text()) dlg.setNameFilters(['HandbrakeCLI (H*, H*.exe)', 'All files (*, *.*)']) dlg.setFileMode(QFileDialog.ExistingFile) dlg.setFilter(QDir.Files | QDir.Executable) result = dlg.exec_() if (result): self.lineEdit_HandBrakeCLI.setText(dlg.selectedFiles()[0]) del dlg
def show_ui(self): file_dialog = QFileDialog(self, self.caption, self.default_dir) file_dialog.setFileMode(QFileDialog.DirectoryOnly) file_dialog.setDirectory(self.default_dir) file_dialog.setOption(QFileDialog.DontUseNativeDialog, True) file_view = file_dialog.findChild(QListView, 'listView') # to make it possible to select multiple directories: file_view.setSelectionMode(QAbstractItemView.MultiSelection) f_tree_view = file_dialog.findChild(QTreeView) f_tree_view.setSelectionMode(QAbstractItemView.MultiSelection) # execute the modified file dialog and return result self.close_later.emit() if file_dialog.exec(): self.file_names = file_dialog.selectedFiles()
async def load_dialog( parent: QWidget, file_filter: str, directory: Optional[Path] = None, ) -> Optional[Path]: real_directory = (str(directory) if directory is not None else cast( str, QDir.homePath())) dialog = QFileDialog(parent, "Open File", directory=real_directory, filter=file_filter) dialog.setFileMode(dialog.ExistingFile) dialog.setAcceptMode(dialog.AcceptOpen) if await async_dialog_exec(dialog): return Path(dialog.selectedFiles()[0]) return None