所以我有这段代码,希望按钮在被点击时返回它的文本值。在
film = ['Woezel & Pip Op zoek naar de Sloddervos!', 'The White Snake',
'Proof of Life', 'Rise of the Planet of the Apes',
'Mona Lisa Smile', '2 Guns', 'Max Payne', 'De eetclub']
for item in film:
button = Button(master=aanbiederspage, text=item,
command=filmdatabase).pack()
简单的方法是将
item
字符串传递给command
回调,但必须小心操作。一种方法是使item
字符串成为lambda
函数的默认参数。它必须是一个默认参数,以便在定义lambda
时,item
与该参数绑定。如果我们只是lambda : func(item)
,那么每个按钮都将打印列表中的最后一项。发生这种情况是因为在这种情况下,当调用回调时,Python会查找item
的current值。在注意在我的代码中我是如何做到的。。。做那个任务没有意义。首先,我们没有在任何地方保存这些小部件,但是更重要的是,},这样做
^{pr2}$.pack
返回{实际上,将
button
设置为None
,而不是按钮小部件。在您可以使用lambda with command将参数发送到“filmdatabase”:它应该如下所示:
相关问题 更多 >
编程相关推荐