【发布时间】:2012-02-22 13:56:37
【问题描述】:
我想指出,我从短时间内开始学习 python。 问题将是初学者的问题。
我需要在程序顶部的菜单中添加命令,这将调用函数“color_picker(“red”)。
kolory.add_command(label="Czerwony", command=color_picker('red'))
当我使用它时,它有点错误,因为它在程序启动后被调用,它不等我点击菜单按钮。 (我很确定,因为我在该函数中添加了“showinfo”,它会在我做任何事情之前显示消息)
kolory.add_command(label="Czerwony", command=lambda: color_picker('red')) 有点用,但我不知道“lambda”在这里是什么意思。它是在菜单选项下调用带有参数的函数的唯一方法吗?
同样的问题也适用于绑定键盘快捷键。
okno.bind("1", color_picker) - 将调用函数但没有参数,应该是颜色。我该怎么做?
那么,如何使用 add_command 为函数分配带参数的函数、键盘快捷键和菜单?
PS。正在通过谷歌搜索,但似乎 python 没有像 c# 那样好的文档,例如。或者我太笨了,找不到。
编辑:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
return self.func(*args)
TypeError: color_picker() takes at most 1 argument (2 given)
这是错误消息,当我尝试在 okno.bind 中使用“pick_red”时
【问题讨论】:
-
Python 文档可以通过交互式 python shell 中的
help()函数访问。在您的情况下,帮助kolory.add_command可能是您正在寻找的文档。