我有2个按钮,分别名为“ButtonA”,“ButtonB”。
如果要单击任何按钮,我希望程序打印“hello,ButtonA”和“hello,ButtonB”。
我的代码如下:

def sayHi(name):
    print 'hello,', name

root = Tk()
btna = Button(root, text = 'ButtonA', command = lambda: text)
btna.pack()

当我单击ButtonA时,发生错误text not defined

我理解此错误,但是如何将ButtonA的文本传递给lambda?

最佳答案

这应该工作:

...
btnaText='ButtonA'
btna = Button(root, text = btnaText, command = lambda: sayHi(btnaText))
btna.pack()

有关更多信息,请查看Tkinter Callbacks

09-12 06:13