如何在窗口关闭后从python Tkinter条目中获取文本?

时间:2014-08-27 15:28:00

标签: python tkinter tkinter-entry

我有一个脚本,我希望它向用户弹出一个对话框。一旦用户输入文本,窗口将关闭,脚本可以使输入的文本继续前进。 我无法获取文本,它总是空的。我的代码基于此Get value from Entry after root.destroy()

我如何获取文字?

#2.7
from Tkinter import *

class GetUserInput(Frame):

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pathVar = StringVar()
        self.path = Entry(master, bd =5)
        self.path.bind('<Return>', self.callback)
        self.path.pack(side = RIGHT)

        L1 = Label(master, text="Enter value")
        L1.pack( side = LEFT)


    def callback(*args):
        value = args[0].pathVar.get()
        print value
        args[0].master.destroy()

    def close(self):
        self.master.destroy()

if __name__ == '__main__':
    root = Tk()
    app = GetUserInput(master=root)
    app.mainloop()
    print(app.pathVar.get())

1 个答案:

答案 0 :(得分:2)

self.path = Entry(master, bd =5)

尝试在此处指定textvariable参数。这将确保StringVar将使用Entry的值保持更新。

self.path = Entry(master, bd =5, textvariable=self.pathVar)