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])
예제 #2
0
    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
예제 #3
0
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()