Focus¶
Changing the background color when the mouse is on the widget.
To apply focus behavior, you must create a new class that is inherited from the
widget to which you apply the behavior and from the FocusBehavior
class.
Usage¶
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.behaviors import RectangularElevationBehavior, FocusBehavior
from kivymd.uix.boxlayout import MDBoxLayout
KV = '''
MDScreen:
md_bg_color: 1, 1, 1, 1
FocusWidget:
size_hint: .5, .3
pos_hint: {"center_x": .5, "center_y": .5}
md_bg_color: app.theme_cls.bg_light
MDLabel:
text: "Label"
theme_text_color: "Primary"
pos_hint: {"center_y": .5}
halign: "center"
'''
class FocusWidget(MDBoxLayout, RectangularElevationBehavior, FocusBehavior):
pass
class Test(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
return Builder.load_string(KV)
Test().run()
Color change at focus/defocus
FocusWidget:
focus_color: 1, 0, 1, 1
unfocus_color: 0, 0, 1, 1
API - kivymd.uix.behaviors.focus_behavior
¶
-
class
kivymd.uix.behaviors.focus_behavior.
FocusBehavior
(**kwargs)¶ - Events
on_enter
Fired when mouse enter the bbox of the widget.
on_leave
Fired when the mouse exit the widget.
-
focus_behavior
¶ Using focus when hovering over a widget.
focus_behavior
is aBooleanProperty
and defaults to False.
-
focus_color
¶ The color of the widget when the mouse enters the bbox of the widget.
focus_color
is aListProperty
and defaults to [].
-
unfocus_color
¶ The color of the widget when the mouse exits the bbox widget.
unfocus_color
is aListProperty
and defaults to [].
-
on_enter
(self)¶ Fired when mouse enter the bbox of the widget.
-
on_leave
(self)¶ Fired when the mouse exit the widget.