我有很多问题……)
我正在尝试让Kivy将双击注册为用于添加/删除小部件的运动事件,因为没有“隐藏此小部件选项”……也许是在下一次更新中,因为一次触摸就会让小部件一次又一次地出现和消失(这很烦人)。
我的代码(重要部分)是Python,然后是Kivy:
class SomeScreen(Screen):
def on_touch_down(touch, *args):
if touch.is_double_tap:
try: self.add_widget(*args)
except: self.remove_widget(*args)
pass Kivy:
FloatLayout:
on_touch_down:
on_touch_down(nameofwidget)它给出了一个“KeyError:”is_double_tap“”。
我也尝试过这套解决方案。
is_double_tap:
self.on_touch_down
>>> KeyError: "is_double_tap"另一种解决方案-
on_touch_down:
self.touch.is_double_tap = try: self.add_widget(nameofwidget), except: self.remove_widget(nameofwidget)
>>> invalid syntax [ at try:]另一种解决方案:
on_touch_down:
self.on_touch_down.is_double_tap: try [ same as above]
>>> invalid syntax [ at try:]我认为包括这一点是很重要的。
on_touch_down:
try: self.add_widget(nameofwidget)
except: self.remove_widget(nameofwidget)在Python端没有定义on_touch_down函数的情况下,工作得很好。
发布于 2015-01-29 05:16:31
class SomeScreen(Screen):
def on_touch_down(touch, *args): 这是一个方法,你的问题是你错过了隐式的self。改为将其声明为def on_touch_down(self, touch):。
FloatLayout:
on_touch_down:
on_touch_down(nameofwidget)我不认为这会起作用(只会崩溃),因为on_touch_down不是一个已定义的变量。
https://stackoverflow.com/questions/28199813
复制相似问题