Tkinter允许您将功能分配给按钮,如下所示:
but = Button(master,text="Press Here",command=press_B1).pack()
其中press_B1是定义的函数。
我必须使用n个元素的数组,并为每个元素创建一个按钮,如果按下第一个按钮,它将打印数组的第一个元素。 如果我有一个已定义数量的元素但使用未定义的元素我很简单,我不知道该怎么做。
如果我没有很好地解释我想做什么:
arr = ["a","b","c"] #random number of elements
for i in range(len(array)):
but = Button(master,text="Press Here",command=?).pack()
最后我应该有3个按钮,如果我按下第一个按钮,python应该打印“a”
答案 0 :(得分:0)
根据您的示例,如果需要print
语句(Python 2.x),您可以在循环中使用函数定义;
arr = ["a","b","c"] #random number of elements
for i in range(len(arr)):
def f(val=arr[i]):
print val
but = Button(None,text="Press Here",command=f).pack()
或者您可以改为使用lambda
:
import sys
arr = ["a","b","c"] #random number of elements
for i in range(len(arr)):
lam = lambda val=arr[i]: sys.stdout.write("%s\n"%val)
but = Button(None,text="Press Here",command=lam).pack()