Python tkinter 操作用于传递来自文本框的值

Python tkinter operation for pass the value from the Textbox

其实我已经做了一个.docx操作的脚本。该脚本将计算文件夹中的 .docx 文件总数并提供一些报告。现在我打算在上面使用 GUI 操作。在我的脚本中,我将那个文件夹放在 python 目录中,这样它就可以工作,但我在这里想要的是,用户将在 "C:/user/app/data/folder_name" 之类的文本框中输入路径,并在按下提交按钮时将显示报告。这里我附上代码

代码:

import os
import glob
from docx import Document

from tkinter import *
def print_input():

    mypath = text_entry.get()
    files=0
    for name in os.listdir(mypath):
        if name.endswith('.docx'):
          files=files+1
    print("Total No of Files:",files)
    table=0
    for name in os.listdir(mypath):
         for word in glob.glob('*.docx'):
          doc=Document(word)
          for t in doc.tables:
            for ro in t.rows:
              if ro.cells[0].text=="ID" :
                table=table+1
    print("Total Number of Tables: ", table)

root = Tk()
Label(root, text="Enter Path").grid(row=0)

text_entry = Entry(root)
text_entry.grid(row=1, column=0)
Button(root, text='Submit', command=print_input).grid(row=3, column=0, sticky=W, pady=4)
mainloop()

这是我的新代码。但是我在该文件夹中只有一个文件,它包含 5 个表。此代码提供 2 个文件和 312 个表。我能做什么?

您可以使用 Entry 小部件的 get() 方法来获取用户拥有的内容 input.So 这样的事情应该可行:

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()

编辑:您还可以使用 Text 小部件在调用相同的 提交 按钮时显示您的结果