使用Tkinter中另一个函数中的entry / button中的变量

时间:2013-12-25 10:16:29

标签: python python-3.x tkinter

当我按下按钮时,我希望它能够获得Entry并且 - 以后 - 在另一个功能中使用它。

import tkinter

def ButtonAction():
    MyEntry = ent.get() #this is the variable I wanna use in another function

den = tkinter.Tk()
den.title("Widget Example")

lbl = tkinter.Label(den, text="Write Something")
ent = tkinter.Entry(den)
btn = tkinter.Button(den, text="Get That Something", command = ButtonAction )

lbl.pack()
ent.pack()
btn.pack()

den.mainloop()

print MyEntry #something like this maybe. That's for just example

我会将此内容用作搜索工具。将出现输入窗口,从那里获取“输入”并在以下文件中搜索:

if MyEntry in files:
 #do smth

我知道我可以使用全局变量处理问题,但从我读过的内容来看,它不建议作为第一个解决方案。

1 个答案:

答案 0 :(得分:2)

使用类构建程序。

import tkinter

class Prompt:
    def button_action(self):
        self.my_entry = self.ent.get() #this is the variable I wanna use in another function

    def __init__(self, den):
        self.lbl = tkinter.Label(den, text="Write Something")
        self.ent = tkinter.Entry(den)
        self.btn = tkinter.Button(den, text="Get That Something", command=self.button_action)
        self.lbl.pack()
        self.ent.pack()
        self.btn.pack()

den = tkinter.Tk()
den.title("Widget Example")
prompt = Prompt(den)
den.mainloop()

您可以稍后使用prompt.my_entry访问输入。