创建一个随机数的函数

时间:2014-02-28 18:01:06

标签: python tkinter

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”

1 个答案:

答案 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()