Python 3.x 用于从文本框传递值的Python tkinter操作

Python 3.x 用于从文本框传递值的Python tkinter操作,python-3.x,pandas,user-interface,tkinter,docx,Python 3.x,Pandas,User Interface,Tkinter,Docx,实际上,我已经为.docx操作编写了一个脚本。该脚本将计算文件夹中的.docx文件总数,并给出一些报告。现在我计划在上面使用GUI操作。在我的脚本中,我将该文件夹放在python目录中,这样它就可以工作了,但我想在这里,用户将在文本框中输入路径,如“C:/User/app/data/folder\u name”,当按下提交按钮时,它将显示报告。这里我附上了代码 代码: 这是我的新代码。但我在那个文件夹里只有一个文件,它由5个表组成。这段代码给出了2个文件和312个表。我能做什么?您可以使用Ent

实际上,我已经为.docx操作编写了一个脚本。该脚本将计算文件夹中的.docx文件总数,并给出一些报告。现在我计划在上面使用GUI操作。在我的脚本中,我将该文件夹放在python目录中,这样它就可以工作了,但我想在这里,用户将在文本框中输入路径,如“C:/User/app/data/folder\u name”,当按下提交按钮时,它将显示报告。这里我附上了代码

代码:

这是我的新代码。但我在那个文件夹里只有一个文件,它由5个表组成。这段代码给出了2个文件和312个表。我能做什么?

您可以使用
Entry
小部件的
get()
方法来获取用户输入的内容。因此类似这样的方法应该可以工作:

from tkinter import *
def get_path():
    #Something like this
    #replace your default path with the user's path
    mypath = text_entry.get()
    files=0
    for name in glob.glob(mypath):
    files=files+1
    print("Total No of Files:",files)

root = Tk()
Label(root, text="Enter Path").grid(row=0)
#Create text entry and add it to the window:
text_entry = Entry(root)
text_entry.grid(row=1, column=0)
#This button will call the get_path function when it is clicked
Button(root, text='Submit', command=get_path).grid(row=3, column=0, sticky=W, pady=4)
mainloop()
编辑:您也可以使用
文本
小部件来显示您的结果,当调用相同的提交按钮时

您可以使用
条目
小部件的
get()
方法来获取用户输入的内容。因此类似这样的方法应该可以工作:

from tkinter import *
def get_path():
    #Something like this
    #replace your default path with the user's path
    mypath = text_entry.get()
    files=0
    for name in glob.glob(mypath):
    files=files+1
    print("Total No of Files:",files)

root = Tk()
Label(root, text="Enter Path").grid(row=0)
#Create text entry and add it to the window:
text_entry = Entry(root)
text_entry.grid(row=1, column=0)
#This button will call the get_path function when it is clicked
Button(root, text='Submit', command=get_path).grid(row=3, column=0, sticky=W, pady=4)
mainloop()

编辑:您也可以使用
文本
小部件在调用相同的提交按钮时显示结果。。我知道了。如果您不想获取用户键入的内容,然后在该路径上执行上述操作,那么请使用
get()
方法并将值传递给变量,我将编辑代码实际上它正在打印我们在文本框中输入的内容。我想在这里搜索文件夹后,按下提交按钮。你能做到吗?只需将你的
glob
请求更改为
mypath
varhey你真的很酷。你能在我的代码中添加注释来解释一下吗对不起。。我知道了。如果您不想获取用户键入的内容,然后在该路径上执行上述操作,那么请使用
get()
方法并将值传递给变量,我将编辑代码实际上它正在打印我们在文本框中输入的内容。我想在这里搜索文件夹后,按下提交按钮。你能做到吗?只需将你的
glob
请求更改为
mypath
varhey你真的很酷。你可以在我的代码中添加注释来解释吗?你的问题不包括问题。你已经告诉我们你想要什么,但没有告诉我们你在实现这一点上遇到了什么问题。你需要什么帮助?嗨,我只是编辑代码。你明白我的问题吗@你的问题不包括一个问题。你已经告诉我们你想要什么,但没有告诉我们你在实现这一点上遇到了什么问题。你需要什么帮助?嗨,我只是编辑代码。你明白我的问题吗@布莱亚诺克利