Пример #1
0
    def MatDialog(self):

        mat_dialog = QFileDialog(self)
        mat_dialog = QFileDialog.getOpenFileName(filter="Images (*.png *.jpg)",
            selectedFilter="Images (*.png *.jpg)")

        if mat_dialog[0] != "":
            self.GenerateMat(mat_dialog[0])
Пример #2
0
 def saveAs(self, f):
     saveAs = QFileDialog()
     saveAs.setDefaultSuffix('.json')
     self.timer.stop()
     fileName, _ = saveAs.getSaveFileName(parent=self.window,
                                          filter="JSON (*.json)",
                                          caption="Save as json file.")
     self.timer.start(1)
     if fileName:
         self.saveDefaultPath = fileName
         self.save(f)
Пример #3
0
 def _open_file_name_dialog(self):
     options = QFileDialog.Options()
     options |= QFileDialog.DontUseNativeDialog
     file_name, _ = QFileDialog.getOpenFileName(
         self,
         "QFileDialog.getOpenFileName()",
         "",
         "All Files (*);;Python Files (*.py)",
         options=options)
     if file_name:
         print(file_name)
Пример #4
0
 def openFileNamesDialog(self):
     options = QFileDialog.Options()
     options |= QFileDialog.DontUseNativeDialog
     files, _ = QFileDialog.getOpenFileNames(
         self,
         "QFileDialog.getOpenFileNames()",
         "",
         "All Files (*);;Python Files (*.py)",
         options=options)
     if files:
         print(files)
Пример #5
0
 def saveFileDialog(self):
     options = QFileDialog.Options()
     options |= QFileDialog.DontUseNativeDialog
     fileName, _ = QFileDialog.getSaveFileName(
         self,
         "QFileDialog.getSaveFileName()",
         "",
         "All Files (*);;Text Files (*.txt)",
         options=options)
     if fileName:
         print(fileName)
Пример #6
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)
Пример #7
0
    def importTeamFunction(self):
        file_dialog = QFileDialog(self)
        file_dialog = QFileDialog.getOpenFileName(
                                    filter="Team Files (*.json *.zip)",
                                    selectedFilter="Team Files (*.json *.zip)")

        if file_dialog[0] != "":
            if is_zipfile(file_dialog[0]):
                with ZipFile(file_dialog[0]) as zip_import:
                    list_of_files = zip_import.namelist()
                    for fimp in list_of_files:
                        if fimp.startswith('logos'):
                            zip_import.extract(fimp, path=THISDIR+'\\images\\')
                    imported_teams = zip_import.read('teams.json')
                    imported_teams = imported_teams.decode('utf-8')
            else:
                imported_teams = open(file_dialog[0], "r",
                                encoding="utf-8").read()
            json_teams = json.loads(imported_teams)
            self.teams = json_teams["teams"]
            self.players = json_teams["players"]

            new_teams = open(THISDIR + "\\config\\teams.json", "w+",
                            encoding="utf-8")
            new_teams.write(json.dumps(json_teams, indent=4))
            new_teams.close()

            old_config = open(THISDIR + "\\config\\config.json", "r",
                                encoding="utf-8").read()
            old_config = json.loads(old_config)
            old_config["total_teams"] = len(json_teams["teams"])
            self.config = old_config
            new_config = open(THISDIR + "\\config\\config.json", "w+",
                                encoding="utf-8")
            new_config.write(json.dumps(self.config, indent=4))
            new_config.close()

            self.UpdatePlayersList()

            self.image_east.setPixmap(QPixmap("images/logos/team1.png")\
                                       .scaled(100,100))
            self.cloth_east.setModel(self.players_combobox.model())
            self.image_south.setPixmap(QPixmap("images/logos/team1.png")\
                                       .scaled(100,100))
            self.cloth_south.setModel(self.players_combobox.model())
            self.image_west.setPixmap(QPixmap("images/logos/team1.png")\
                                       .scaled(100,100))
            self.cloth_west.setModel(self.players_combobox.model())
            self.image_north.setPixmap(QPixmap("images/logos/team1.png")\
                                       .scaled(100,100))
            self.cloth_north.setModel(self.players_combobox.model())
            self.statusBar().showMessage("Teams imported successfully.")
            self.teamcreation_wid.close()
Пример #8
0
 def choose_db(self):
     options         = QFileDialog.Options()
     
     directory = temp.reader()
     
     self.filepath,_ = QFileDialog.getOpenFileName(self,"Choose a database to open",
     directory, "PassLost Files (*.pl)", options=options)
     
     if self.filepath:
         file        = os.path.basename(self.filepath).split('.')[0]
         self.ui.choosefile_btn.setText(file+'.db')
     
     self.ui.massterpw_entry.setFocus()
Пример #9
0
 def get_filename(self, save=True):
     self.backup_name = None
     if save:
         filename, filter = QFileDialog.getSaveFileName(None, self.tr("Save backup to:"),
                                                        ".", self.tr("Archives (*.tgz)"))
         if filename:
             if filter == self.tr("Archives (*.tgz)") and filename[-4:] != '.tgz':
                 filename = filename + '.tgz'
     else:
         filename, _filter = QFileDialog.getOpenFileName(None, self.tr("Select file with backup"),
                                                         ".", self.tr("Archives (*.tgz)"))
     if filename:
         self.backup_name = filename
Пример #10
0
    def ImportTeamImage(self):

        image_dialog = QFileDialog(self)
        image_dialog = QFileDialog.getOpenFileName(filter="Images (*.png)",
            selectedFilter="Images (*.png)")

        if image_dialog[0] != "":
            new_team_logo = Image.open(image_dialog[0]).convert("RGBA")
            if new_team_logo.size != (250, 250):
                new_team_logo.resize((250, 250))
            new_team_logo.save(THISDIR+"\\images\\logos\\team%s.png"\
                % self.num_id.text())

            QMessageBox.information(self, "Team Image", "Team image added.")
Пример #11
0
 def openFile(self, file_path):
     if os.path.exists(file_path):
         path = QFileDialog.getOpenFileName(self, "Open File Dialog",
                                            file_path, "XML files(*.xml)")
     else:
         path = QFileDialog.getOpenFileName(self, "Open File Dialog", "/",
                                            "XML files(*.xml)")
     print(path)
     self.document = IOXML.parseXML(str(path[0]))
     self.target_platform = ProcessTag.getRootElementAttributeValue(
         self.document, 'platform')
     # self.CVE = ProcessTag.getRootElementAttributeValue(self.document, 'CVE')
     self.url = ProcessTag.getRootElementAttributeValue(
         self.document, 'url')
Пример #12
0
    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])
Пример #13
0
 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()
Пример #14
0
    def move_copy_dialog(self, copy):
        """dialog for copy or move a file

        Args:
            copy (boolean): True to copy, False to move
        """

        if copy:
            libelle = "Move to"
        else:
            libelle = "Copy to"

        if not self.index == -1:
            directory = QFileDialog.getExistingDirectory(
                self, libelle, self.images[self.index],
                QFileDialog.ShowDirsOnly | QFileDialog.DontUseNativeDialog)
            if directory:
                file = os.path.join(directory,
                                    os.path.basename(self.images[self.index]))
                if not os.path.isfile(file):
                    self.move_copy_file(self.images[self.index], file, copy)
                else:
                    dialog = ImageDialog(self.images[self.index], file)
                    result = dialog.exec_()
                    if result == QDialog.Accepted:
                        self.move_copy_file(self.images[self.index], file,
                                            copy)
                    elif result == 3:
                        # renamme
                        self.move_copy_file(
                            self.images[self.index],
                            os.path.join(
                                directory,
                                os.path.basename(
                                    dialog.edit_file_name.text())), copy)
Пример #15
0
    def update_data(self):
        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
        meta_data = get_metadata(self.url_name)

        if os.path.exists(self.db_name):
            os.remove(self.db_name)

        conn, cursor = open_db(self.db_name)
        setup_school_db(cursor)
        process_data(self.url_name, meta_data, cursor)
        close_db(conn)
        QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor))

        file_name = QFileDialog.getOpenFileName(
            self, "Please select an .xlsx file to import from")[0]
        print(file_name, " was the file selected.")

        conn, cursor = open_db(self.db_name)

        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
        read_excel_data(file_name, cursor)
        close_db(conn)
        QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor))

        self.statusBar().showMessage(
            f"Update success from: {file_name} on {datetime.now()}")

        return file_name
Пример #16
0
 def load(self, action):
     statement_loader = self.sources[action.data()]
     statement_file, active_filter = QFileDialog.getOpenFileName(
         None, self.tr("Select statement file to import"), ".",
         statement_loader['filter'])
     if not statement_file:
         return
     try:
         module = importlib.import_module(
             f"jal.data_import.{statement_loader['module']}")
     except ModuleNotFoundError:
         logging.error(
             self.tr("Statement loader module not found: ") +
             statement_loader['module'])
         return
     class_instance = getattr(module, statement_loader['loader_class'])
     statement = class_instance()
     try:
         statement.load(statement_file)
         statement.validate_format()
         statement.match_db_ids(verbal=False)
         totals = statement.import_into_db()
     except Statement_ImportError as e:
         logging.error(self.tr("Import failed: ") + str(e))
         self.load_failed.emit()
         return
     self.load_completed.emit(statement.period()[1], totals)
Пример #17
0
    def load_input_directory(self) -> None:
        """
        Open a popup to select the directory where is located source images.
        """
        in_dir = QFileDialog.getExistingDirectory(self)
        if len(in_dir) == 0:
            return

        self.input_directory = in_dir
        self.clear_image_entries()
        self.clear_preview_image()

        # self.ui.labelInDir.setText(f"Loaded: {self.input_directory}")

        src_layout = self.source_layout()
        first = True
        for entry in sorted(os.scandir(self.input_directory),
                            key=lambda x: x.name):
            if not Tat.is_image(entry.path):
                continue

            qim = load_image(entry.path)

            ime = CheckableImageEntry(src_layout.parent(), qim, entry.name,
                                      entry.path)
            ime.mouse_pressed.connect(self.image_entry_click_handler)
            self.add_source_image_entry(ime)

            if first:
                self.set_preview_image(qim, ime)
                first = False

        if len(self.output_directory) != 0:
            self.ui.buttonGenerate.setEnabled(True)
Пример #18
0
 def button_source_clicked(self):
     """
     Callback for button_source
     """
     source_path, _ = QFileDialog.getOpenFileName(
         self, "Open Video", "", "Video Files (*.mkv *.avi *.mov *.mp4)")
     self.ui.line_source.setText(source_path)
Пример #19
0
 def slot_edit_load_folder(self):
     dir = QFileDialog.getExistingDirectory(
         self, 'Folder in which the save states are stored by mGBA',
         self.ui.lineEditLoadFolder.text())
     print(dir)
     if dir is not None:
         self.ui.lineEditLoadFolder.setText(dir)
Пример #20
0
 def eventFilter(self, source: QLineEdit,
                 event: Union[QDropEvent, QMouseEvent, QDragEnterEvent]):
     if event.type() == QEvent.DragEnter:
         event.accept()
     elif event.type() == QEvent.Drop:
         # 任何拖放事件 都先清空原来的内容
         source.clear()
         md = event.mimeData()  # type: QMimeData
         if md.hasUrls() and len(md.urls()) == 1:
             path = md.urls()[0].toLocalFile()
             if os.path.exists(path):
                 source.setText(path)
                 self.update_name.emit(path)
         return True
     elif event.type() == QEvent.MouseButtonDblClick:
         # 选择本地headers.json文件
         fileName, selectedFilter = QFileDialog.getOpenFileUrl(
             None, caption="select headers.json", dir=QUrl("file://."))
         if isinstance(fileName, QUrl):
             path = fileName.toLocalFile()
             if os.path.exists(path):
                 source.clear()
                 source.setText(path)
                 self.update_name.emit(path)
         return True
     return super(HeaderFileQLineEdit, self).eventFilter(source, event)
Пример #21
0
    def saveReport(self):
        filename, filter = QFileDialog.getSaveFileName(
            None, self.tr("Save report to:"), ".",
            self.tr("Excel files (*.xlsx)"))
        if filename:
            if filter == self.tr(
                    "Excel files (*.xlsx)") and filename[-5:] != '.xlsx':
                filename = filename + '.xlsx'
        else:
            return

        report = XLSX(filename)
        # sheet = report.add_report_sheet(self.tr("Report"))
        #
        # model = self.table_view.model()
        # headers = {}
        # for col in range(model.columnCount()):
        #     headers[col] = (model.headerData(col, Qt.Horizontal), report.formats.ColumnHeader())
        # report.write_row(sheet, 0, headers)
        #
        # for row in range(model.rowCount()):
        #     data_row = {}
        #     for col in range(model.columnCount()):
        #         data_row[col] = (model.data(model.index(row, col)), report.formats.Text(row))
        #     report.write_row(sheet, row+1, data_row)

        report.save()
Пример #22
0
    def save_as(self):
        sig_filter = 'Signature library (*.sig)'
        json_zlib_filter = 'Compressed JSON signature library (*.json.zlib)'
        json_filter = 'JSON signature library (*.json)'
        pkl_filter = 'Pickled signature library (*.pkl)'
        fname, filter = QFileDialog.getSaveFileName(self,
                                                    'Open file',
                                                    filter=';;'.join([
                                                        sig_filter,
                                                        json_zlib_filter,
                                                        json_filter, pkl_filter
                                                    ]))

        if filter == json_zlib_filter:
            with open(fname, 'wb') as f:
                f.write(
                    zlib.compress(
                        sig_serialize_json.serialize(
                            self.sig_trie).encode('utf-8')))
        elif filter == json_filter:
            with open(fname, 'w') as f:
                json.dump(sig_serialize_json.serialize(self.sig_trie),
                          f,
                          indent=4)
        elif filter == sig_filter:
            with open(fname, 'wb') as f:
                f.write(sig_serialize_fb.SignatureLibraryWriter().serialize(
                    self.sig_trie))
        elif filter == pkl_filter:
            with open(fname, 'wb') as f:
                pickle.dump(self.sig_trie, f)
        else:
            return
        print('Saved as ' + fname)
Пример #23
0
 def select_output_dir(self):
     self.output_dir_path = QFileDialog.getExistingDirectory(
         None, self.select_output_dir_title, "C:/")
     if self.output_dir_path == '' or not os.path.exists(
             self.output_dir_path):
         return
     self.txtOutputDir.setText(self.output_dir_path)
Пример #24
0
    def browse_file(self):
        save_file = QFileDialog.getSaveFileName(self,
                                                caption="Save File As",
                                                filter="All Files (*.*)",
                                                dir=".")

        self.ui.txt_dest.setText(save_file[0])
Пример #25
0
    def getInputDir(self):
        dir = QFileDialog.getExistingDirectory(None, "Select folder",
                                               self.userDesktop)

        if dir:
            path = dir.replace("/", "\\")
            self.InputLineEdit.setText(path)
Пример #26
0
 def button_target_clicked(self):
     """
     Callback for button_target
     """
     target_path, _ = QFileDialog.getSaveFileName(self, "Save Video", "",
                                                  "Video Files (*.mkv)")
     self.ui.line_target.setText(target_path)
Пример #27
0
    def _handle_file_open(self):
        if self.config_has_changes:
            msg = QMessageBox(
                QMessageBox.Warning,
                "Are you sure?",
                ("You have unsaved changes to your current config. "
                 "If you continue all unsaved changes will be lost."),
                buttons=QMessageBox.Open | QMessageBox.Cancel,
            )

            if msg.exec_() == QMessageBox.Cancel:
                return

        file_path = QFileDialog.getOpenFileName(
            self,
            caption="Open a new config...",
            dir=os.getcwd(),
            filter="Config Files (*.yml *.yaml)",
        )[0]

        if file_path:
            self.reset_changes(file_path)

            # update the new log location
            self.update_log_paths(file_path)

            # setup the config tabs
            self.initialise_config_tabs(self.config)
Пример #28
0
    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
Пример #29
0
    def open_file(self):
        sig_filter = 'Signature library (*.sig)'
        json_zlib_filter = 'Compressed JSON signature library (*.json.zlib)'
        json_filter = 'JSON signature library (*.json)'
        pkl_filter = 'Pickled signature library (*.pkl)'
        fname, filter = QFileDialog.getOpenFileName(self,
                                                    'Open file',
                                                    filter=';;'.join([
                                                        sig_filter,
                                                        json_zlib_filter,
                                                        json_filter, pkl_filter
                                                    ]))
        if filter and fname:
            print('Opening signature library %s' % (fname, ))

        if filter == json_zlib_filter:
            with open(fname, 'rb') as f:
                json_trie = zlib.decompress(f.read()).decode('utf-8')
            sig_trie = sig_serialize_json.deserialize(json.loads(json_trie))
        elif filter == json_filter:
            with open(fname, 'r') as f:
                json_trie = f.read()
            sig_trie = sig_serialize_json.deserialize(json.loads(json_trie))
        elif filter == sig_filter:
            with open(fname, 'rb') as f:
                fb_trie = f.read()
            sig_trie = sig_serialize_fb.SignatureLibraryReader().deserialize(
                fb_trie)
        elif filter == pkl_filter:
            with open(fname, 'rb') as f:
                sig_trie = pickle.load(f)
        else:
            return

        self.open_trie(sig_trie, os.path.basename(fname))
Пример #30
0
    def _on_add_click(self):

        # https://doc.qt.io/qtforpython/PySide6/QtWidgets/QFileDialog.html#PySide6.QtWidgets.PySide6.QtWidgets.QFileDialog.getOpenFileNames
        self.refPaths, selectedFilter = QFileDialog.getOpenFileNames(
            caption="Select one or more files to open",
            filter="PDF (*.pdf)",
            dir="Desktop")
        # add refname to the item container
        self.refNames = []
        for refPath in self.refPaths:

            # widgetres = []
            # # 获取listwidget中条目数
            # count = window.refList.count()
            # 遍历listwidget中的内容
            # for i in range(count):
            #     widgetres.append(self.listWidget.item(i).text())
            # print(widgetres)
            refName = refPath.split('/')[-1]
            if refName not in self.refNames:
                # https://doc.qt.io/qtforpython/PySide6/QtWidgets/QListWidget.html
                self.window.refListView.addItem(refName)
                self.refNames.append(refName)
            else:
                continue

        self.update()