python stringvar添加_在将StringVar添加到小部件时,是否调用了TKinter StringVar.trace?...

也许我没明白你的意思。对我来说很管用,也许你忘了打印:[...]

root.myframe = myFrame(root)

#this print myStringVar content even when the value doesn't change (each time you call it):

print("main:", root.myStringVar.get()) #

def foo(*args): #custom useless function

"""Prints "hello" each time OptionMenu selection change"""

print("foo: hello")

def showargs(*args): #show params, useless too

"""Prints args content each time OptionMenu change"""

print("showargs:", args)

def showcontent(*args): #finally this print myStringVar content

"""Prints myStringVar content each time OptionMenu change"""

print("showcontent: ",root.myStringVar.get())

root.myStringVar.trace('w', foo)

root.myStringVar.trace('w', showargs)

root.myStringVar.trace('w', showcontent)

#output:

#main: hello

#after user select "1" from OptionMenu:

#showcontent: 1

#showargs: ('PY_VAR0', '', 'w')

#foo: hello

我添加了三种调试方法来测试myStringVar内容:foo是无用的,但每次用户更改OptionMenu值时都会触发它,

showargs显示*args参数内容,

showcontent显示myStringVar内容。

如果因为在第19行显示结果而陷入困境,则会忘记将其打印到控制台或以某种方式显示给gui(我添加了一个打印),这样就可以工作了。

所以您可以传递myStringVar并获取其内容和/或显示其任何更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值