Как анимировать кнопку на киве, когда курсор находится над ней? - PullRequest
0 голосов
/ 08 февраля 2019

Я немного новичок в Kivy, и я искал способ анимировать кнопку, когда курсор находится над ней.

Я пытался найти способ определить положение мыши и сравнить егос координатами кнопки, но безуспешно.

1 Ответ

0 голосов
/ 08 февраля 2019

На этот вопрос уже (в основном) ответили на в этом посте . Вот очень хороший пример этого здесь от Olivier POYEN по лицензии LGPL.По сути, он определил класс с именем HoverBehavior, от которого вы должны наследовать, чтобы создать новый класс, например HoverButton или HoverLabel (как показывает его пример).Затем у вас есть доступ к функциям on_enter и on_leave, которые вы можете использовать для изменения изображения кнопки или изменения цвета текста ярлыка, или чего вам нужно.

Чтобы ответить на ваш точный вопрос, ябудет стремиться понять класс HoverBehavior, затем скопировать / вставить его из вышеприведенного источника, а затем создать новый класс, например:

class HoverButton(Button, HoverBehavior):
    def on_enter(self, *args):
        self.background_normal = "some_image1.png" # Change the button's image when entered
    def on_leave(self, *args):
        self.background_normal = "some_other_image.png" # Change image when leaving

или , вы можете использовать язык kvчто выглядит еще чище:

<HoverButton>:
    background_normal: "some_image1.png" if self.hovered else "some_other_image.png"

просто убедитесь, что вы включили базовый класс для HoverButton в свой скрипт Python, если вы используете 2-й вариант:

class HoverButton(Button, HoverBehavior):
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...