在Kivy中,创建按钮实例时,可以将该按钮绑定到事件,如下所示:
btn = Button( text='This do be a button' )
btn.bind( on_release=self.method_call )
self.add_widget( btn )
如果你想创建很多按钮,比如基于列表中的一串字符串的任意数量,你可能会这样做:
list = ('item1', 'item2', 'item3', 'item4')
for item in list:
self.btn = Button( text=item )
#some method call
self.add_widget( btn )
如何调用方法并为按下每个独特按钮传递一些标识符?
答案 0 :(得分:0)
传递给bind
调用的回调函数将在被调用时接收对被压缩的Button
实例的引用作为参数。
所以,要告诉它是什么按钮,你只需要将所有按钮保持在某个地方并与它们进行比较,或者可能将你设置的text
提取为按钮的标签,具体取决于你想要什么与结果有关。
因此,您需要更改的代码位于self.method
,而不是代码设置按钮(除非您因某些原因想要保留按钮对象,否则您可能希望将它们附加到列表,而不是反复覆盖self.button
)。