问题描述
目标:
仅在按下my_callback()
小部件时调用OneLineListItem
函数,否则不执行任何操作。
解释这些事情:
-请解释当使用{_1}}中的任何一个时,如何使用on_touch_down()函数调用函数my_callback()
-还解释了为什么我们在OneLineListItem
块中添加super(Touch,self).on_touch_down(touch)
当前代码存在的问题:
-不要给出任何错误,但是代码无法按我的意愿工作。
-else
方法不起作用(想要了解它的工作原理,我只是从kivy文档中复制了它)。
on_touch_down()
解决方法
您可以通过实例访问小部件的文本和ID:
def mycallback(self,instance):
m=instance.id
x=instnace.text
它确定该行,您可以对其进行处理。添加ID时必须将其添加到窗口小部件。我没有使用on_touch_down尝试过它,但是我使用了on_press并成功了。
您可以在添加add_widget时调用my_callback函数,如下所示:
self.ids.scroll.add_widget(OneLineListItem(text='as you want',id=str(i),halign="right",on_press=self.mycallback))