mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
callback invoke
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user