Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 13, 2022 10:30:29

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt6 QFileDialog.getOpenFileName не понимает кирилицу

QFileDialog.getOpenFileName отказывается обрабатывать выбор файла если название написано не латинскими буквами

UnicodeEncodeError: ‘charmap’ codec can't encode characters in position 38-46: character maps to <undefined>

Как выправить эту проблему?

Офлайн

#2 Авг. 13, 2022 11:39:20

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt6 QFileDialog.getOpenFileName не понимает кирилицу

так. удалось выяснить что сам диалог отрабатывает но в path содержиться какието не юникодовские символы.

как лечить этот глюк?

Офлайн

#3 Авг. 13, 2022 11:40:55

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt6 QFileDialog.getOpenFileName не понимает кирилицу

Вот мой код

   def select_files(self, ch) -> None:
        if self.config.get_files_type() == 0:
            path = QFileDialog.getOpenFileName(self, "Open a file", "",
                                           "All Files (*.pdf *.png *.jpeg *.jpg *.docx, xlsx)")
            if path != ('', ''):
                self.content.add_file_to_list(path[0])
                self.fileList.addItem(path[0].split('/')[-1])
        if self.config.get_files_type() == 1:
            folder_path = QFileDialog.getExistingDirectory(self, "Choose Directory")
            if folder_path != ('', ''):
                for root, dirs, files in os.walk(folder_path):
                    for file in files:
                        if Path(file).suffix in ['.pdf', '.png', '.jpeg', '.jpg', '.docx', 'xlsx']:
                            self.content.add_file_to_list(folder_path+'/'+file)
                            self.fileList.addItem(str(file))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version