存储来自 GUI 的条目输入

Storing entry input from GUI

假设我有这个代码

import math
from tkinter import *


def close_window():
    root.destroy()

def fileName():
    filename = content.get()
    return filename;



root = Tk()
content = StringVar()

L2 = Label(root, text = "The Program").grid(row = 0, sticky = E)


L1 = Label(root, text = "Enter filename").grid(row = 1, column = 0, sticky =    E)
E1 = Entry(root, bd = 5, textvariable = content).grid(row = 1, column = 1)


B1 = Button(root, text = "Ok", command = fileName).grid(row = 2, column = 0 )
B2 = Button(root, text = "Quit", command = close_window).grid(row = 2, column    = 1)


root.mainloop()

print(fileName())

现在的问题是我想存储我在 E1 中输入的内容(这样我以后可以对它做一些事情)但是我如何访问它 "outside" 的 GUI?

我想做的程序是用户输入一个文件名,然后它在输入上运行一堆函数,然后根据给定的内容生成一条文本消息,但我无法访问输入,因为 文件名() return 什么都没有。

不确定这是否符合您的要求,但现在它会在单击按钮时打印,并且您已将文件名变量设置为 content.get()

import math
from tkinter import *


def close_window():
    root.destroy()

def fileName():
    filename = content.get()
    return filename;

def combine_funcs(*funcs):
    def combined_func(*args, **kwargs):
        for f in funcs:
            f(*args, **kwargs)
    return combined_func

def prnt():
    print(content.get())

root = Tk()
content = StringVar()

L2 = Label(root, text = "The Program").grid(row = 0, sticky = E)


L1 = Label(root, text = "Enter filename").grid(row = 1, column = 0, sticky =    E)
E1 = Entry(root, bd = 5, textvariable = content).grid(row = 1, column = 1)


B1 = Button(root, text = "Ok", command = combine_funcs(fileName,prnt)).grid(row = 2, column = 0 )
B2 = Button(root, text = "Quit", command = close_window).grid(row = 2, column    = 1)


root.mainloop()


print(fileName())