Python ttk.Button -command,在没有按下按钮的情况下运行

时间:2010-06-01 06:58:58

标签: python function button ttk

2 个答案:

答案 0 :(得分:2)

马库斯,是的,这是正确的解决方案,但并不是因为你不能在小部件标注中使用多参数命令。请注意,在原始代码中,...command=loadModelTree(treeModel)...是方法的调用。 Lambda允许您抽象命令,这样您就可以拥有任意数量的参数,而不会通过调用它来混淆解释器,例如...command=lambda arg1=myarg1, arg2=myarg2, arg3=myarg3: myCallout(arg1, arg2, arg3)...

我希望能让事情变得更加清晰。

答案 1 :(得分:1)

好吧,当我找到答案时,我会回答我自己的问题。 它认为ttk.button命令不支持向函数发送参数,因此解决方法如下:

btReload = ttk.Button(treeBottomUI, text="Reload", width=17, command=lambda i=treeModel: loadModelTree(i))
btReload.pack(side="left")

简单就像馅饼一样!