как я могу создать событие в kivy, как событие on_touch_down или on_touch_up - PullRequest
1 голос
/ 17 марта 2020

Можно ли сгенерировать событие в kivy, чтобы можно было вызывать функции on_touch_up или on_touch_down, не касаясь экрана пользователем?

1 Ответ

1 голос
/ 17 марта 2020

Сначала посмотрите примечание в документации для Событие движения :

Вы никогда не создаете MotionEvent самостоятельно: это роль провайдеров.

Сказав это, вы можете создать и отправить минимальное событие, подобное этому:

class MyBoxLayout(BoxLayout):
    def mydispatchAnEvent(self):
        touch = MouseMotionEvent(None, 123, (123, 456))  # args are device, id, spos
        touch.button = 'left'
        touch.pos = (321, 654)
        self.dispatch('on_touch_down', touch)

Класс (в данном случае MyBoxLayout) должен быть EventDispatcher. Вызов mydispatchAnEvent() отправит минимальное событие всем детям MyBoxLayout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...