Ниже приведен мой код и пример GUI. Я делаю приложение для извлечения данных, используя PYQT5 (Python). Однако у меня есть проблема с тем, как передать переменную из QlineEdit методу init после нажатия кнопки обзора. Когда я нажимаю кнопку обзора, программа запускает проводник, позволяющий выбрать одну папку. Во-вторых, путь к папке задан в QlineEdit. Однако я не могу получить переменную пути к папке.
![enter image description here](https://i.stack.imgur.com/denzT.png)
class Ui_MainWindow(object):
self.dis_folder = QtWidgets.QLineEdit(self.centralwidget)
self.dis_folder.setGeometry(QtCore.QRect(30, 60, 311, 31))
self.dis_folder.setObjectName("dis_folder")
self.btn_browse = QtWidgets.QPushButton(self.centralwidget)
self.btn_browse.setGeometry(QtCore.QRect(360, 60, 91, 31))
self.btn_browse.setObjectName("btn_browse")
self.dis_log = QtWidgets.QTextBrowser(self.centralwidget)
self.dis_log.setGeometry(QtCore.QRect(30, 150, 311, 341))
self.dis_log.setObjectName("dis_log")
self.lbl_Folder = QtWidgets.QLabel(self.centralwidget)
self.lbl_Folder.setGeometry(QtCore.QRect(30, 20, 71, 31))
self.lbl_Folder.setObjectName("lbl_Folder")
self.btn_start = QtWidgets.QPushButton(self.centralwidget)
self.btn_start.setGeometry(QtCore.QRect(360, 150, 91, 31))
self.btn_start.setObjectName("btn_start")
self.btn_stop = QtWidgets.QPushButton(self.centralwidget)
self.btn_stop.setGeometry(QtCore.QRect(360, 210, 91, 31))
self.btn_stop.setObjectName("btn_stop")
class MyMainForm(QMainWindow,Ui_MainWindow):
def __init__(self, parent=None):
self.folderPath = ""
super(MyMainForm, self).__init__(parent)
self.setupUi(self)
self.btn_browse.clicked.connect(self.openFile)
print(self.folderPath)
# self.dis_log.setText(self.btn_start.clicked.connect(self.readXML(folderPath)))
def openFile(self):
get_directory_path = QFileDialog.getExistingDirectory(self,
"select XML folder.",
"C:/")
self.dis_folder.setText(str(get_directory_path))
if self.folderPath=="":
self.folderPath=get_directory_path
def readXML(self,dir):
main.runReadXML("r\'"+str(dir)+"\'")
# print("r\'"+str(get_directory_path)+"\'")
if __name__ == "__main__":
app = QApplication(sys.argv)
myWin = MyMainForm()
myWin.show()
sys.exit(app.exec_())