def load_file(self): dialog = QFileDialog() dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden) dialog.setDefaultSuffix('json') dialog.setAcceptMode(QFileDialog.AcceptOpen) dialog.setNameFilters(['JSON (*.json)']) if dialog.exec_(): # write out file input_file = open(dialog.selectedFiles()[0], "r") input_data = input_file.read() data = json.loads(input_data) for key in self.controls: control = self.controls[key] if type(control) == QtWidgets.QPlainTextEdit: control.setPlainText(data[key]) elif type(control) == QtWidgets.QCheckBox: control.setChecked(data[key])
def start_recording(self): if not self.isRecording: dialog = QFileDialog() dialog.setFilter(dialog.filter() | QDir.Hidden) dialog.setDefaultSuffix('avi') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setNameFilters(['Video File (*.avi)']) if dialog.exec_() == QDialog.Accepted: fileName = dialog.selectedFiles()[0] self.videoWindow.StartRecording(fileName) self.recordButton.setText("Stop recording") self.isRecording = True else: print('Cancelled') else: self.videoWindow.StopRecording() self.recordButton.setText("Start recording") self.isRecording = False
def FileDialog(directory='', forOpen=True, fmt='', isFolder=False): options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog options |= QFileDialog.DontUseCustomDirectoryIcons dialog = QFileDialog() dialog.setOptions(options) dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden) # ARE WE TALKING ABOUT FILES OR FOLDERS if isFolder and fmt == '': dialog.setFileMode(QFileDialog.Directory) dialog.setOptions(QFileDialog.ShowDirsOnly) elif isFolder and fmt != '': dialog.setFileMode(QFileDialog.Directory) dialog.setNameFilters([f'{fmt} (*.{fmt})']) else: dialog.setFileMode(QFileDialog.ExistingFiles) # OPENING OR SAVING dialog.setAcceptMode( QFileDialog.AcceptOpen) if forOpen else dialog.setAcceptMode( QFileDialog.AcceptSave) # SET FORMAT, IF SPECIFIED if fmt != '' and isFolder is False: dialog.setDefaultSuffix(fmt) dialog.setNameFilters([f'{fmt} (*.{fmt})']) # SET THE STARTING DIRECTORY if directory != '': dialog.setDirectory(str(directory)) else: dialog.setDirectory(str(ROOT_DIR)) if dialog.exec_() == QDialog.Accepted: path = dialog.selectedFiles() return path else: return ''
def save_file(self): values = { "version": "{0}.{1}.{2}".format(VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH) } for key in self.controls: control = self.controls[key] if type(control) == QtWidgets.QPlainTextEdit: values[key] = control.toPlainText() elif type(control) == QtWidgets.QCheckBox: values[key] = control.isChecked() dialog = QFileDialog() dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden) dialog.setDefaultSuffix('json') dialog.setAcceptMode(QFileDialog.AcceptSave) dialog.setNameFilters(['JSON (*.json)']) if dialog.exec_(): # write out file outfile = open(dialog.selectedFiles()[0], "w") outfile.write(json.dumps(values, indent=2)) outfile.close()