На этот вопрос уже (в основном) ответили на в этом посте . Вот очень хороший пример этого здесь от 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