是否可以发送tkinter小部件作为功能的参数?

时间:2020-07-13 04:48:13

标签: python python-3.x tkinter

是否可以将小部件作为参数发送给任何函数?这样:

l=Listbox(root,selectmode=MULTIPLE)

def SelectLB(lb):
    for i in range(lb["menu"].index("end")):
        l.select_set(i)

MyButton1=Button(root,text="MB1",command= lambda: SelectLB(l))

谢谢。

1 个答案:

答案 0 :(得分:2)

您问题的答案是肯定的,您可以在Python中的任何位置发送任何内容(不考虑酸洗和多处理)。似乎在询问是否可以使用预定义的参数调用按钮命令函数。这也是可能的:

MyButton1=Button(root, text="MB1", command=lambda l=l: SelectLB(l))

在这里,您正在将当前范围内的默认参数l设置为l。这是一种封闭方式,可以确保每次通过按钮时都使用l