From 628f3fb7ca62b2c8d39ebb994f6755f5d7c1961d Mon Sep 17 00:00:00 2001 From: gwen Date: Mon, 29 Jun 2026 22:16:41 +0200 Subject: [PATCH] docs(textual-ui): textual exploration --- doc/essai_textual.py | 20 ++++++++++++++++++++ doc/essai_textual2.py | 18 ++++++++++++++++++ requirements.txt | 1 + 3 files changed, 39 insertions(+) create mode 100644 doc/essai_textual.py create mode 100644 doc/essai_textual2.py create mode 100644 requirements.txt diff --git a/doc/essai_textual.py b/doc/essai_textual.py new file mode 100644 index 0000000..aa4afd7 --- /dev/null +++ b/doc/essai_textual.py @@ -0,0 +1,20 @@ +from textual.app import App, ComposeResult +from textual.widgets import Label +from textual.containers import Center +from textual.events import Key + +class HelloApp(App): + """Une application Textual simple.""" + + def compose(self) -> ComposeResult: + # Définir les widgets de l'application + yield Center(Label("Hello, World!")) + + def on_key(self, event: Key) -> None: + # Quitter l'application si on appuie sur 'q' + if event.key == "q": + self.exit() + +if __name__ == "__main__": + app = HelloApp() + app.run() diff --git a/doc/essai_textual2.py b/doc/essai_textual2.py new file mode 100644 index 0000000..89ff8ce --- /dev/null +++ b/doc/essai_textual2.py @@ -0,0 +1,18 @@ +from textual.app import App, ComposeResult +from textual.widgets import Button, Label +from textual.containers import Vertical + +class ButtonApp(App): + def compose(self) -> ComposeResult: + yield Vertical( + Button("Cliquez-moi !", id="mon-bouton"), + Label("", id="message") + ) + + def on_button_pressed(self, event: Button.Pressed) -> None: + if event.button.id == "mon-bouton": + self.query_one("#message", Label).update("Bouton cliqué !") + +if __name__ == "__main__": + app = ButtonApp() + app.run() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a75a51d --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +textual