1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
from textual.app import App, ComposeResult
from textual.widgets import Button, Input
class PreventApp(App):
"""Demonstrates `prevent` context manager."""
def compose(self) -> ComposeResult:
yield Input()
yield Button("Clear", id="clear")
def on_button_pressed(self) -> None:
"""Clear the text input."""
input = self.query_one(Input)
with input.prevent(Input.Changed): # (1)!
input.value = ""
def on_input_changed(self) -> None:
"""Called as the user types."""
self.bell() # (2)!
if __name__ == "__main__":
app = PreventApp()
app.run()
|