获取所有用户输入/行编辑的价值

问题描述

我正在寻找一种方法来获取应用的所有用户输入/行编辑的值或文本

我正在创建一个可以同时创建多个文件夹的应用。有多个用户输入要写入文件夹的名称,这是我通过多次调用同一个函数创建的。使用这个“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()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)