我正在寻找一种方法来获取应用程序的所有用户输入/行编辑的值或文本
我正在创建一个一次创建多个文件夹的应用程序。有多个用户输入要写入文件夹的名称,我通过多次调用相同的函数来创建这些输入。使用这个“self.le2.text()”只会获取创建的第一个用户输入的值。
到目前为止,这是我的代码。本质上,我希望“创建文件夹”按钮从“new_folder”函数创建的所有用户输入中创建所有文件夹。现在它只获得第一个创造的价值。
import sys
import os
from PySide6 import QtWidgets, QtCore, QtGui
from PySide6.QtWidgets import QApplication
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
#set central widget and layout
self.setWindowTitle("Amazing Folder Generator")
self.generalLayout = QtWidgets.QVBoxLayout()
self.centralWidget = QtWidgets.QWidget()
self.setCentralWidget(self.centralWidget)
self.centralWidget.setLayout(self.generalLayout)
self.le1 = QtWidgets.QLineEdit()
self.file_path()
self.button1 = QtWidgets.QPushButton("New Folder")
self.generalLayout.addWidget(self.button1)
self.button1.pressed.connect(self.new_folder)
self.button2 = QtWidgets.QPushButton("Create Folders")
self.generalLayout.addWidget(self.button2)
self.button2.pressed.connect(self.create_files)
self.new_folder()
self.new_folder()
self.new_folder()
def file_path(self):
self.le1 = QtWidgets.QLineEdit()
self.le1.setFixedHeight(20)
self.le1.setAlignment(QtCore.Qt.AlignRight)
self.path_layout = QtWidgets.QFormLayout()
self.path_layout.addRow("Folder Path: ", self.le1)
self.generalLayout.addLayout(self.path_layout)
def new_folder(self):
self.le2 = QtWidgets.QLineEdit()
self.le2.setFixedHeight(20)
self.le2.setAlignment(QtCore.Qt.AlignRight)
self.path_layout = QtWidgets.QFormLayout()
filename = "File: "
self.path_layout.addRow(filename, self.le2)
self.generalLayout.addLayout(self.path_layout)
def create_files(self):
path = self.le1.text() + "\\"
filename = self.le2.text()
newpath = path + filename
if not os.path.exists(newpath):
os.makedirs(newpath)
else:
print("folder already exists")
def main():
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()