如果focus = False,有没有办法让TextInput实例执行on_text_validate?

时间:2016-03-13 18:39:31

标签: python kivy

所以我有一个TextInput实例,如果焦点从True变为False,我希望它能做self.dispatch('on_text_validate')。

基本上,如果我没有单击enter,其中multiline = False,或tab,其中write_tab = False,而是如果用户单击屏幕上的其他位置并且TextInput的焦点丢失,则执行'on_text_validate'。

我还是新来的kivy。是以某种方式用回调来做到这一点吗?

1 个答案:

答案 0 :(得分:1)

当文本输入失去焦点时,此代码将调度on_text_validate事件:

class MyTextInput(TextInput):

    def __init__(self, **kwargs):
        super(MyTextInput, self).__init__(**kwargs)
        self.register_event_type('on_text_validate')

    def on_text_validate(self):
        print 'on_text_validate dispatched'

    def on_focus(self, obj, focused):
        if not focused:
            self.dispatch('on_text_validate')