def select_files(self): global index openfile = None if os.name == 'nt': openfile = QFileDialog.getExistingDirectoryUrl( self, '选择文件夹', QUrl(os.path.join(os.path.expanduser('~'), "Desktop"))) else: openfile = QFileDialog.getExistingDirectoryUrl( self, '选择文件夹', QUrl('/')) if not openfile.isEmpty(): part = openfile.path().replace('/', '', 1) dirs = os.listdir(part) for each in dirs: if os.path.isfile(f"{part}/{each}"): self.files_list.addItem(f'---------第{index}部分---------') self.files_list.addItem(f"{each}") print(f"{each}是文件,已跳过") logic.thread_it(self.log_box.set_log, f"{each}是文件,已跳过") index += 1 else: self.files_list.addItem(f'---------第{index}部分---------') self.files_list.addItems(os.listdir(f"{part}/{each}")) files = list( map(lambda file: f"{part}/{each}/{file}", os.listdir(f"{part}/{each}"))) self.comic_files_path += files index += 1 self.comic_files_path = list(set(self.comic_files_path)) self.comic_files_path.sort() print(self.comic_files_path)
def on_pushButtonExporter2_clicked(self): nomdossier = QFileDialog.getExistingDirectoryUrl( self,"Choisir un dossier") if nomdossier: path = os.getcwd() savePath = os.path.join(nomdossier.toLocalFile(),self.lineEditExporter.text()) try: os.mkdir(savePath) self.mb.setText ("Les fichiers seront sauvegaredés dans: \n{}".format(savePath)) self.mb.setStandardButtons(QMessageBox.Ok ) self.mb.show() except Exception: self.mb.setText ("Les fichiers seront sauvegaredés dans: \n{}".format(savePath)) self.mb.setStandardButtons (QMessageBox.Ok ) self.mb.show () os.chdir(savePath) if self.radioButtonAll.isChecked(): trt.recuperData(self.Data) else: if self.dataPeriode: trt.recuperData(self.dataPeriode) else: trt.recuperData(self.Data) self.lineEditExporter.setText("") os.chdir(path)
def actionOpenFolder(self): self.folder_path = QFileDialog.getExistingDirectoryUrl(self, "打开文件夹") if not self.folder_path.isValid(): return self.folder_name = self.folder_path.fileName() self.folder_path = self.folder_path.toLocalFile() self.lineedit_fpath.setText(self.folder_path) print("打开 " + self.folder_path)
def open_file_dialog(self): dialog = QFileDialog() dialog.setFileMode(dialog.Directory) options = dialog.Options() options |= dialog.ShowDirsOnly options |= dialog.DontUseNativeDialog project_path = dialog.getExistingDirectoryUrl(self, "Open Directory", QUrl(), options=options) path = project_path.path() self.set_project_path(path)
def open_dialog_choose_dir(self): home = os.path.expanduser("~") fileDialog = QFileDialog(directory=home) dirUrl: QUrl = fileDialog.getExistingDirectoryUrl() dirpath = dirUrl.path()[1:] default_name = dirpath.split("/")[-1] self.directoryChoiceStatus.setText(dirpath) self.outputName.setText(default_name)
def openfile_model(self): options = QFileDialog.Options() name_obj = QFileDialog.getExistingDirectoryUrl( None, "QFileDialog.getOpenFileName()", options=options) self.folder_path = name_obj.path() if self.folder_path: #a first check files = os.listdir(self.folder_path) if len(files) == 3: self.label_model.setText("ok")
def choose_bands_dir(self): """ Select directory with band images """ self.bands_path = QFileDialog.getExistingDirectoryUrl(self).path() if self.bands_path: self.state_init() self.open_map_tile() self.btn_choose_masks.setDisabled(False)
def open_dialog_choose_search_dir(self): """Opens a file dialog to choose a root dir for as a search directory""" home = os.path.expanduser( "~") if self.dirname.text() == "" else self.dirname.text() fileDialog = QFileDialog(directory=home) dirUrl: QUrl = fileDialog.getExistingDirectoryUrl() dirpath = dirUrl.path()[1:] self.dirname.setText(dirpath) if dirpath == "": self.dirIcon.setPixmap(QPixmap("../resources/dir-inactive.png")) else: self.dirIcon.setPixmap(QPixmap("../resources/dir.png")) self.check_search_available()
def mousePressEvent(self, e): if e.button() == 1: if self.name == '网络' and not self.top.switch_frame.windmill_label.downloading: self.top.set.api_choose.setEnabled(True) self.top.set.category_choose.setEnabled(True) elif self.name == '收藏': can = False for api in self.top.all_api[1:]: if eval('self.top.data["api"]["%s"]["like_list"]' % api): can = True break if not can: self.top.set.status_label.setText('请至少收藏一张壁纸!') self.top.set.status_timer = 200 return else: self.top.set.api_choose.setEnabled(False) self.top.set.category_choose.setEnabled(False) elif self.name == '本地': if self.top.config['directory'] == 0: self.top.set.status_label.setText('请先右键选择一个文件夹!') self.top.set.status_timer = 200 return else: self.top.local_api.init_check() if not self.top.local_api.img_dir: return self.top.set.api_choose.setEnabled(False) self.top.set.category_choose.setEnabled(False) elif self.name == '一类': if self.top.config['category'] != '随机': self.top.set.status_label.setText('请先选择随机分类!') self.top.set.status_timer = 200 return else: for api in self.top.all_api[1:]: eval('self.top.%s' % api).img_set, eval( 'self.top.%s' % api).img_idx = [], 0 self.set_active() self.top.config[self.father.what] = self.name self.top.dump_data('config') elif e.button() == 2 and self.name == '本地': path = QFileDialog.getExistingDirectoryUrl(self.top.set, "选择文件夹") if not path.isEmpty(): self.top.config['directory'] = sub('file:///', '', path.toString()) self.top.dump_data('config')
def choose_masks_dir(self): """ Select directory with mask files """ self.masks_path = QFileDialog.getExistingDirectoryUrl(self).path() if self.masks_path: self.cmb_mask.setDisabled(False) masks = os.listdir(self.masks_path) self.cmb_mask.clear() self.cmb_mask.addItems(masks) coef_h, coef_w, mh, mw = get_size_coefs(self.bands_path) #wac self._max_band_width = mh self._max_band_height = mw self._map_size = (mh, mw) self.bnt_create_mask.setDisabled(False)
def _save(): self.process_doc_btn.setDisabled(True) self.save_file_btn.setDisabled(True) self.select_file_btn.setDisabled(True) try: save_dir = QFileDialog.getExistingDirectoryUrl( caption='Select saving directory').toLocalFile() if save_dir: file_name = get_file_name(self.file_path) image_format = self.image_format for i, page in enumerate(self.processed): save_name = f'{file_name}_{i}.{image_format}' save_path = os.path.join(save_dir, save_name) Image.fromarray(page).save(save_path) except NotADirectoryError: pass self.process_doc_btn.setEnabled(True) self.save_file_btn.setEnabled(True) self.select_file_btn.setEnabled(True)
def action_event(self, event, item_indices=None): if event == Action.ADD_FILE: file, _ = QFileDialog.getOpenFileUrl(caption="Select a File") if not file.isEmpty(): self.files_changed_event(True, [file]) elif event == Action.ADD_DIR: _dir = QFileDialog.getExistingDirectoryUrl(caption="Select a directory") if not _dir.isEmpty(): self.files_changed_event(True, [_dir]) elif event == Action.SETTINGS: TransCodaSettings.TransCodaSettings().exec() elif event == Action.DEL_ALL: self.main_panel.clear_table() elif event == Action.DEL_FILE: self.main_panel.remove_files(item_indices) elif event == Action.ENCODE: if self.executor is not None and self.executor.is_running(): self.executor.stop_scan() self.statusBar().showMessage("Stop command issued. Waiting for threads to finish") return self.validate_and_start_encoding(run_indices=item_indices) elif event == Action.CHANGE_STATUS_SUCCESS: self.main_panel.update_item_status(item_indices, EncoderStatus.SUCCESS) elif event == Action.CHANGE_STATUS_READY: self.main_panel.update_item_status(item_indices, EncoderStatus.READY) elif event == Action.OPEN_FILE: self.open_paths_in_system_default(item_indices, "file") elif event == Action.OPEN_SOURCE: self.open_paths_in_system_default(item_indices, "file", func=os.path.dirname) elif event == Action.OPEN_DEST: self.open_paths_in_system_default(item_indices, "output_file", func=os.path.dirname) elif event == Action.ABOUT: with open(os.path.join(os.path.dirname(__file__), "resource/about.html"), 'r') as file: about_html = file.read() QMessageBox.about(self, TransCoda.__APP_NAME__, about_html.format(APP_NAME=TransCoda.__APP_NAME__, VERSION=TransCoda.__VERSION__, YEAR=datetime.now().year))
def on_bTest_clicked(self): """ Private method to test the selected options. """ if self.rOpenFile.isChecked() or self.rfOpenFile.isChecked(): if not self.cSymlinks.isChecked(): options = QFileDialog.Options(QFileDialog.DontResolveSymlinks) else: options = QFileDialog.Options() options = self.__adjustOptions(options) QFileDialog.getOpenFileName(None, self.eCaption.text(), self.eStartWith.text(), self.eFilters.text(), self.eInitialFilter.text(), options) elif self.rOpenFileUrl.isChecked(): if not self.cSymlinks.isChecked(): options = QFileDialog.Options(QFileDialog.DontResolveSymlinks) else: options = QFileDialog.Options() options = self.__adjustOptions(options) try: QFileDialog.getOpenFileUrl(None, self.eCaption.text(), QUrl(self.eStartWith.text()), self.eFilters.text(), self.eInitialFilter.text(), options, self.schemesEdit.text().split()) except TypeError: # PyQt5 < 5.13.0 contains an error QFileDialog.getOpenFileUrl(None, self.eCaption.text(), self.eStartWith.text(), self.eFilters.text(), self.eInitialFilter.text(), options, self.schemesEdit.text().split()) elif self.rOpenFiles.isChecked() or self.rfOpenFiles.isChecked(): if not self.cSymlinks.isChecked(): options = QFileDialog.Options(QFileDialog.DontResolveSymlinks) else: options = QFileDialog.Options() options = self.__adjustOptions(options) QFileDialog.getOpenFileNames(None, self.eCaption.text(), self.eStartWith.text(), self.eFilters.text(), self.eInitialFilter.text(), options) elif self.rOpenFileUrls.isChecked(): if not self.cSymlinks.isChecked(): options = QFileDialog.Options(QFileDialog.DontResolveSymlinks) else: options = QFileDialog.Options() options = self.__adjustOptions(options) try: QFileDialog.getOpenFileUrls(None, self.eCaption.text(), QUrl(self.eStartWith.text()), self.eFilters.text(), self.eInitialFilter.text(), options, self.schemesEdit.text().split()) except TypeError: # PyQt5 < 5.13.0 contains an error QFileDialog.getOpenFileUrls(None, self.eCaption.text(), self.eStartWith.text(), self.eFilters.text(), self.eInitialFilter.text(), options, self.schemesEdit.text().split()) elif self.rSaveFile.isChecked() or self.rfSaveFile.isChecked(): if not self.cSymlinks.isChecked(): options = QFileDialog.Options(QFileDialog.DontResolveSymlinks) else: options = QFileDialog.Options() options = self.__adjustOptions(options) QFileDialog.getSaveFileName(None, self.eCaption.text(), self.eStartWith.text(), self.eFilters.text(), self.eInitialFilter.text(), options) elif self.rSaveFileUrl.isChecked(): if not self.cSymlinks.isChecked(): options = QFileDialog.Options(QFileDialog.DontResolveSymlinks) else: options = QFileDialog.Options() options = self.__adjustOptions(options) try: QFileDialog.getSaveFileUrl(None, self.eCaption.text(), QUrl(self.eStartWith.text()), self.eFilters.text(), self.eInitialFilter.text(), options, self.schemesEdit.text().split()) except TypeError: # PyQt5 < 5.13.0 contains an error QFileDialog.getSaveFileUrl(None, self.eCaption.text(), self.eStartWith.text(), self.eFilters.text(), self.eInitialFilter.text(), options, self.schemesEdit.text().split()) elif self.rDirectory.isChecked(): options = QFileDialog.Options() if not self.cSymlinks.isChecked(): options |= QFileDialog.Options(QFileDialog.DontResolveSymlinks) if self.cDirOnly.isChecked(): options |= QFileDialog.Options(QFileDialog.ShowDirsOnly) else: options |= QFileDialog.Options(QFileDialog.Option(0)) options = self.__adjustOptions(options) QFileDialog.getExistingDirectory(None, self.eCaption.text(), self.eWorkDir.text(), options) elif self.rDirectoryUrl.isChecked(): options = QFileDialog.Options() if not self.cSymlinks.isChecked(): options |= QFileDialog.Options(QFileDialog.DontResolveSymlinks) if self.cDirOnly.isChecked(): options |= QFileDialog.Options(QFileDialog.ShowDirsOnly) else: options |= QFileDialog.Options(QFileDialog.Option(0)) options = self.__adjustOptions(options) try: QFileDialog.getExistingDirectoryUrl( None, self.eCaption.text(), QUrl(self.eWorkDir.text()), options, self.schemesEdit.text().split()) except TypeError: # PyQt5 < 5.13.0 contains an error QFileDialog.getExistingDirectoryUrl( None, self.eCaption.text(), self.eWorkDir.text(), options, self.schemesEdit.text().split())
def select_folder(self): url = QFileDialog.getExistingDirectoryUrl() self.save.setText(url.path())
def buttonChooseClicked(self,*args): newPicsPath=QFileDialog.getExistingDirectoryUrl().path() if os.path.exists(newPicsPath): self.picsPaths = os.listdir(newPicsPath) self.FolderPath = newPicsPath self.update_pics_with_path()