10

我正在尝试将变量与 Tkinter 条目小部件相关联,其方式是:

  1. 每当我更改条目的值(“内容”)时,主要是通过在其中输入一些内容,变量会自动获得我输入的值。无需我先按下“更新值”或类似的按钮。

  2. 每当变量被更改(通过程序的其他部分)时,我希望显示的条目值能够自动调整。我相信这可以通过文本变量起作用。

我阅读了http://effbot.org/tkinterbook/entry.htm上的示例,但它并不能完全帮助我实现我的想法。我有一种使用条目的“验证”来确保第一个条件的方法。有任何想法吗?

4

1 回答 1

15

我想你想要这样的东西。在下面的示例中,我创建了一个变量myvar并将其分配给textvariableaLabelEntry小部件。这样,两者都是耦合的,Entry 小部件中的更改将自动反映在 Label 中。

您还可以对变量设置跟踪,例如写入标准输出。

from tkinter import *


root = Tk()
root.title("MyApp")

myvar = StringVar()

def mywarWritten(*args):
    print "mywarWritten",myvar.get()

myvar.trace("w", mywarWritten)

label = Label(root, textvariable=myvar)
label.pack()

text_entry = Entry(root, textvariable=myvar)
text_entry.pack()

root.mainloop()
于 2010-03-26T15:07:24.937 回答