gpt4 book ai didi

python - 我怎样才能在 StringVar() 中包含静态文本并且仍然让它更新为变量更改?

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:35 24 4
gpt4 key购买 nike

我想创建一个如下所示的 StringVar():

someText = "The Spanish Inquisition" # Here's a normal variable whose value I will change

最终

TkEquivalent = StringVar() # and here's the StringVar()

TkEquivalent.set(string(someText)) #and here I set it equal to the normal variable. When someText changes, this variable will too...

但是:

TkEquivalent.set("Nobody Expects " + string(someText))

如果我这样做,StringVar() 将不再自动更新!我怎样才能包含该静态文本并仍然让 StringVar() 更新以反射(reflect)对 someText 所做的更改?

感谢您的帮助。

最佳答案

StringVar 不与 Python 名称(您称之为变量)绑定(bind),但与 Tkinter 小部件绑定(bind),如下所示:

a_variable= Tkinter.StringVar()
an_entry= Tkinter.Entry(textvariable=a_variable)

从那时起,通过 .set 方法对 a_variable 的任何更改都将反射(reflect)在 an_entry 内容中,并且对 an_entry 内容(例如通过用户界面)也将更新 a_variable 内容。

但是,如果这不是您想要的,您可以在代码中有两个(或更多)对同一个 StringVar 的引用:

var1= var2= Tkinter.StringVar()
var1.set("some text")
assert var1.get() == var2.get() # they'll always be equal

关于python - 我怎样才能在 StringVar() 中包含静态文本并且仍然让它更新为变量更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2770409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com