Выбор папки в QFileDialog

Всем привет. Есть задача что бы при выборе file_dialog возвращала выбранную папку работает некорректно. Ниже код

# Выбор файла, работает корректно
    def get_file_dbf():
        if ui.file_dialog.exec_():
            file_name = ui.file_dialog.selectedFiles()
            if file_name[0].endswith('.py'):
                with open(file_name[0], 'r') as f:
                    ui.lineEdit.setText(file_name[0])
                    f.close()
            else:
                pass
#Выбор папки работает некорректно
    def select_folder_to_save():
        if ui.file_dialog_2.exec_():
            dirlist = ui.file_dialog_2.getExistingDirectory()
            ui.lineEdit_2.setText(dirlist)

#Вызов при нажатии на кнопки 
    ui.toolButton.clicked.connect(get_file_dbf);
    ui.toolButton_2.clicked.connect(select_folder_to_save);

Первая функция возвращает файл, в этом проблем нету, возвращает пути выбранного файла. а вот вторая работает следующим образом 1) Нажимаю на кнопку открывается диалоговое окно выбрать файл 2) Выбираю файл, окно закрывается и тут же открывается окно для выбора папки 3) Выбираю папку, путь сохраняется а приложение сворачивается.

Почему открывается сначало окно для выбора файл а потом сразу же папки, хотя делаю только по папке? И сворачивается приложение, непонятно почему

Ссылка на проект https://repl.it/repls/MisguidedClutteredRevisioncontrol


Ответы (1 шт):

Автор решения: S. Nick

я не проверял логику программы в целом.

Отвечаю на вопрос: Почему открывается сначало окно для выбора файл а потом сразу же папки, хотя делаю только по папке?

Функция select_folder_to_save должна выглядеть так:

def select_folder_to_save():
#    if ui.file_dialog_2.exec_():
    dirlist = ui.file_dialog_2.getExistingDirectory()
    if dirlist:
        ui.lineEdit_2.setText(dirlist)

Также НЕ рекомендую вам изменять модуль созданный в Qt Designer - НИКОГДА.

введите сюда описание изображения

→ Ссылка