PYQT5 не удалось объединить строки для каталога папок / файлов - PullRequest
0 голосов
/ 03 апреля 2020

Я собираю GUI для своей программы, используя PyQT5, и одно из действий - получить каталог папки и использовать его для доступа к файлам. Следовательно, пользователь должен выбрать местоположение папки, и программа получит доступ к папке, чтобы получить доступ к файлам внутри.

Я установил ее так, чтобы папка, выбранная пользователем, представляла собой переменную parent_path. Тогда parent_path2 - это следующий каталог, который на одну папку глубже.

Вот мой код:

class MainWindow(QMainWindow):
    def __init__(self):
        global ui
        QMainWindow.__init__(self)
        ui = uic.loadUi(_UI, self)  # Load the ui into self

    def browsebutton_clicked(self):
        dir_ = QFileDialog.getExistingDirectory(None, 'Select a folder:', 'C:\\', QFileDialog.ShowDirsOnly)
        self.lineEdit.setText(dir_)

        parent_path = self.lineEdit.text()
        print(parent_path)
        print(type(parent_path))

def sitebutton_clicked():
    input_site = ui.lineEdit_2.text()
    print(input_site)
    print(type(input_site))
    # WHY DOES IT FAIL TO ADD A STR VARIABLE TO ANOTHER STR VARIABLE?
    parent_path2 = parent_path + '/CongestionBackup_' + input_site
    print(parent_path2)

А вот распечатанные выходные данные для отладки:

C:/Users/****/Documents/JAG Projects/SCATS Congestion Monitor BACKUP/CongestionBackup
<class 'str'>
2326
<class 'str'>

Process finished with exit code -1073740791 (0xC0000409)

Как вы можете видеть, если не удается пройти последние 2 строки, где parent_path2 - это просто конкатенация для трех строк, которые должны сформироваться: C:/Users/****/Documents/JAG Projects/SCATS Congestion Monitor BACKUP/CongestionBackup/CongestionBackup_2326

Я также не уверен в том, что означает этот код выхода, если он не работает. Я пробовал этот код в Jupyter Notebook, и строки могут быть добавлены вместе без каких-либо проблем. Я также попробовал функцию os.path.join (), которая также не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...