как изменить cwd с вводом lineEdit в pyqt5 - PullRequest
2 голосов
/ 06 февраля 2020

Я хочу изменить CWD с помощью lineEdit ввода

, в основном введите новый путь и измените CWD нажатием кнопки

# widgets
self.speicherort_input = qtw.QLineEdit()
self.speicherort_button = qtw.QPushButton("Speicherort_bestaetigen")


# signal
self.speicherort_button.clicked.connect(self.set_newpath)


# function
    def set_newpath(self):
        neuer_speicherort = self.speicherort_input.text()
        os.system('cd' + neuer_speicherort) # how to change variable to raw string ?

как я могу изменить ввод строка в необработанную строку для изменения cwd?

Я изменил функцию для преобразования lineEditt_input в необработанную строку


neuer_speicherort = self.speicherort_input.text()

        raw_string = r"{}".format(neuer_speicherort)

        os.chdir(raw_string)

, но команда не была выполнена

1 Ответ

1 голос
/ 06 февраля 2020

Тру это

import sys
import os
from PyQt5 import QtWidgets as qtw
from PyQt5 import QtCore as qtc
from PyQt5 import QtGui as qtg


class MainWindow(qtw.QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.resize(700, 410)

        speicherort_label = qtw.QLabel("welcher Speicherort")

        self.speicherort_input = qtw.QLineEdit()
        self.speicherort_button = qtw.QPushButton("Speicherort_bestaetigen")
        self.check_cwd_button = qtw.QPushButton("Check cwd")
        layout1 = qtw.QFormLayout()

        self.setLayout(layout1)
        layout2 = qtw.QHBoxLayout()
        layout2.addWidget(self.speicherort_input)
        layout2.addWidget(self.speicherort_button)
        layout1.addRow(speicherort_label, layout2)
        layout1.addRow(self.check_cwd_button)

        self.show()

        # funktionen
        self.speicherort_button.clicked.connect(self.changecwd)
        self.check_cwd_button.clicked.connect(self.printcwd)


    def changecwd(self):
        neuer_speicherort = self.speicherort_input.text()

#        raw_string = r"{}".format(neuer_speicherort)
#        new_process = qtc.QProcess()
#        new_process.setWorkingDirectory(raw_string)

        os.chdir(neuer_speicherort)                               # +++

    def printcwd(self):
        print(os.getcwd())


if __name__ == '__main__':
    app = qtw.QApplication(sys.argv)
    w = MainWindow()
    sys.exit(app.exec_())

enter image description here

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