TextVariable无法正常工作

时间:2016-02-18 07:31:29

标签: python tkinter

我正在尝试从Tkinter的Entry小部件中获取Text。它适用于Entry1.get(),但它不能使用textvariable

我做错了什么?

from Tkinter import *
master = Tk()
v = StringVar()

def Entered(p1):
    print 'Got: ', Entry1.get()
    print 'Got: ', v.get()

Entry1 = Entry(master, text = '', width = 25, textvariable = v)
Entry1.pack()
Entry1.bind('<Return>', Entered)

1 个答案:

答案 0 :(得分:2)

问题在于text

如果你给出text参数,似乎textvariable.get()将不返回任何内容。我不知道它是不是一个错误。

from Tkinter import *
master = Tk()
v = StringVar()

def Entered(p1):
    print 'Got: ', Entry1.get()
    print 'Got: ', v.get()

Entry1 = Entry(master, width = 25, textvariable = v) # No text now
Entry1.pack()
Entry1.bind('<Return>', Entered)
master.mainloop()

如果您输入asd,则会返回:

Got:  asd
Got:  asd

如果您将条目更改为:

,则有趣的部分
Entry1 = Entry(master, text = 'sajt', width = 25, textvariable = v)

我仍然会在v.get()而不是sajt的情况下返回任何内容。