如何将参数传递给 Tkinter 按钮的回调命令?
我有 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时,发生错误,文本未定义
。
我理解这个错误,但是如何将 ButtonA 的文本传递给 lambda?
I got 2 buttons, respectively named 'ButtonA', 'ButtonB'.
I want the program to print 'hello, ButtonA' and 'hello, ButtonB' if any button is clicked.
My code is as follows:
def sayHi(name):
print 'hello,', name
root = Tk()
btna = Button(root, text = 'ButtonA', command = lambda: text)
btna.pack()
When I click ButtonA, error occurs, text not defined
.
I understand this error, but how can I pass ButtonA's text to lambda?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这应该有效:
有关更多信息,请查看 Tkinter Callbacks
This should work:
For more information take a look at Tkinter Callbacks
在您的情况下,文本不是一个函数。只需将其设置为:
您就会得到它的工作。
text is not a function in your case. Just have it as:
And you will get that working.