def browseOutput(self): dlg = QFileDialog() dlg.setFileMode(QFileDialog.Directory) if self.txt_output_path and Path(self.txt_output_path.text()).exists(): dlg.setDirectory(self.txt_output_path.text()) if dlg.exec_(): self.txt_output_path.setText(dlg.selectedFiles()[0])
def setDirectory(self): """ Choose the directory. """ file_dialog = QFileDialog(self) file_dialog.setFileMode(QFileDialog.Directory) self.directory = file_dialog.getExistingDirectory(self, "Open Directory", "", QFileDialog.ShowDirsOnly) if self.directory: self.dir_line_edit.setText(self.directory) # Set the max value of progress bar equal to max number of files in the directory. num_of_files = len([name for name in os.listdir(self.directory)]) self.progress_bar.setRange(0, num_of_files)
def Sl_show_file_dialog(self): dialog = QFileDialog() dialog.setFileMode(QFileDialog.Directory) dialog.setViewMode(QFileDialog.Detail) dialog.setOption(QFileDialog.ShowDirsOnly) dialog.setOption(QFileDialog.DontResolveSymlinks) if dialog.exec(): # Serve per fare in modo che il test abbia una stringa da usare sync_path = ["test"] if self.debug else dialog.selectedFiles() if len(sync_path) == 1: self.Sg_view_changed.emit(sync_path[0])
def p2ce_browse_function(self): dialog = QFileDialog(self) dialog.setFileMode(QFileDialog.Directory) dialog.setViewMode(QFileDialog.Detail) if dialog.exec_(): self.p2ce_fileNames = dialog.selectedFiles() self.p2ce_fileNames = "".join(str(x) for x in self.p2ce_fileNames) global config config.set("SETTINGS", "P2CEFilePath", self.p2ce_fileNames) with open("config.ini", 'w') as configfile: config.write(configfile) print("You picked", self.p2ce_fileNames) self.ui.p2ce_lineEdit.setText(self.p2ce_fileNames) self.p2ce_picked = 1 self.compile_enable_function()
def p2_browse_function(self): #This function is currently unused. dialog = QFileDialog(self) dialog.setFileMode(QFileDialog.Directory) dialog.setViewMode(QFileDialog.Detail) if dialog.exec_(): p2_fileNames = dialog.selectedFiles() p2_fileNames = "".join(str(x) for x in p2_fileNames) global config config.set("SETTINGS", "Portal2FilePath", p2_fileNames) with open("config.ini", 'w') as configfile: config.write(configfile) print("You picked", p2_fileNames) self.ui.p2_lineEdit.setText(p2_fileNames) self.p2_picked = 1 self.compile_enable_function()
def vmf_browse_function(self): dialog = QFileDialog(self) dialog.setFileMode(QFileDialog.AnyFile) dialog.setNameFilter("Valve Map File (*.vmf)") dialog.setViewMode(QFileDialog.Detail) if dialog.exec_(): self.vmf_fileNames = dialog.selectedFiles() self.vmf_fileNames = "".join(str(x) for x in self.vmf_fileNames) global config config.set("SETTINGS", "VMFFilePath", self.vmf_fileNames) with open("config.ini", 'w') as configfile: config.write(configfile) print("You picked", self.vmf_fileNames) self.ui.vmf_lineEdit.setText(self.vmf_fileNames) self.vmf_picked = 1 self.compile_enable_function()
class Path_selector(QWidget): def __init__(self, type): super().__init__() if not (type == 'file' or type == 'folder'): raise Exception( "invalid type when initializing Path_selector class instance") self.type = type self.label = QLabel(f"Select a {type}", self) self.input = QLineEdit(self) self.button = QPushButton(f"Select {type}", self) self.button.clicked.connect(self.navigate_for_path) self.layout = QHBoxLayout(self) self.layout.addWidget(self.label) self.layout.addWidget(self.input) self.layout.addWidget(self.button) self.resize(500, 200) def navigate_for_path(self): self.dialog = QFileDialog(self) path = "" if self.type == 'file': self.dialog.setFileMode(QFileDialog.ExistingFile) self.dialog.setNameFilter("Text files (*.txt)") self.dialog.exec() path = self.dialog.selectedFiles()[0] #path = self.dialog.getOpenFileName(self)[0] elif self.type == 'folder': path = self.dialog.getExistingDirectory(self) print(path) self.input.setText(path) return def get_path(self): return self.input.text()
_format = "%(asctime)s:%(levelname)s:%(filename)s:%(name)s:%(message)s" logging.basicConfig(level=logging.INFO, format=_format) # rimuove i log spammosi di rete logging.getLogger("gql.transport.aiohttp").setLevel(logging.WARNING) logging.getLogger("gql.transport.requests").setLevel(logging.WARNING) env_settings = QSettings() # env_settings.setValue("sync_path", None) # env_settings.setValue("Credentials/user", None) # env_settings.setValue("Credentials/password", None) # Controlliamo se l'utente ha già settato il PATH della cartella check_path = env_settings.value("sync_path") if not check_path or not os.path.isdir(check_path): dialog = QFileDialog() dialog.setFileMode(QFileDialog.Directory) dialog.setViewMode(QFileDialog.Detail) # provare anche .List dialog.setOption(QFileDialog.ShowDirsOnly) dialog.setOption(QFileDialog.DontResolveSymlinks) # L'utente non ha selezionato la cartella if not dialog.exec(): env_settings.setValue("sync_path", None) app.quit() sync_path = dialog.selectedFiles() if len(sync_path) == 1: env_settings.setValue("sync_path", sync_path[0]) env_settings.sync() print("Nuova directory: " + env_settings.value("sync_path"))