我有一个脚本,我希望它向用户弹出一个对话框。一旦用户输入文本,窗口将关闭,脚本可以使输入的文本继续前进。 我无法获取文本,它总是空的。我的代码基于此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())
答案 0 :(得分:2)
self.path = Entry(master, bd =5)
尝试在此处指定textvariable
参数。这将确保StringVar将使用Entry的值保持更新。
self.path = Entry(master, bd =5, textvariable=self.pathVar)