callback invoke

This commit is contained in:
Will McGugan
2021-08-13 20:46:03 +01:00
parent 5aa6224e65
commit ed477c5682
4 changed files with 39 additions and 15 deletions

View File

@@ -1,6 +1,6 @@
from rich.console import RenderableType
from rich.panel import Panel
from textual import events
from textual.app import App
from textual.reactive import Reactive
from textual.widget import Widget
@@ -8,22 +8,22 @@ from textual.widget import Widget
class Hover(Widget):
mouse_over: Reactive[bool] = Reactive(False)
mouse_over = Reactive(False)
def render(self) -> Panel:
def render(self) -> RenderableType:
return Panel("Hello [b]World[/b]", style=("on red" if self.mouse_over else ""))
async def on_enter(self, event: events.Enter) -> None:
def on_enter(self) -> None:
self.mouse_over = True
async def on_leave(self, event: events.Leave) -> None:
def on_leave(self) -> None:
self.mouse_over = False
class HoverApp(App):
"""Demonstrates smooth animation"""
async def on_mount(self, event: events.Mount) -> None:
async def on_mount(self) -> None:
"""Build layout here."""
hovers = (Hover() for _ in range(10))