我正在尝试将变量与 Tkinter 条目小部件关联起来,方式如下:

  1. 每当我更改条目的值(“内容”)时,主要是通过在其中键入内容,该变量会自动分配我键入的值。我不必先按下“更新值”按钮或类似的按钮。

  2. 每当变量发生更改(由程序的其他部分更改)时,我希望显示的条目值自动调整。我相信这可以通过文本变量来实现。

我读过这个例子 http://effbot.org/tkinterbook/entry.htm, ,但这并不能完全帮助我实现我的想法。我有一种感觉,有一种方法可以通过使用条目的“验证”来确保第一个条件。有任何想法吗?

有帮助吗?

解决方案

我想你想要这样的东西。在下面的示例中,我创建了一个变量 myvar 并将其指定为 textvariable 两者的一个 LabelEntry 小部件。通过这种方式,两者是耦合的,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()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top