Python/Kivy:双击标签时调用函数 [英] Python/Kivy : call function when double click on label
本文介绍了Python/Kivy:双击标签时调用函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当double
单击label
时如何调用函数?现在,它会调用single
点击.用什么代替on_ref_press
?
How to call function when double
click on label
? Now it call on single
click .What use instead of on_ref_press
?
layout.add_widget(
MyLabel(text='[ref=world]' + str('Test') + '[/ref]', padding_x=10,
size_hint_x=.35, halign='left',
markup=True, on_ref_press=partial(self.xyz, 10)))
推荐答案
一个可能的解决方案是创建事件,在下面的代码中,我显示一个示例:
A possible solution is to create the event, in the following code I show an example:
from kivy.app import App
from kivy.uix.label import Label
class DoubleClickableLabel(Label):
def __init__(self, **kwargs):
Label.__init__(self, **kwargs)
self.register_event_type('on_double_press')
if kwargs.get("on_double_press") is not None:
self.bind(on_double_press=kwargs.get("on_double_press"))
def on_touch_down(self, touch):
if touch.is_double_tap:
self.dispatch('on_double_press', touch)
return True
return Label.on_touch_down(self, touch)
def on_double_press(self, *args):
pass
class MyApp(App):
def build(self):
label = DoubleClickableLabel(text='Hello world', on_double_press=self.callback)
return label
def callback(self, *args):
print("double clicked", args[0])
if __name__ == '__main__':
MyApp().run()
这篇关于Python/Kivy:双击标签时调用函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文