File: animation01_static.py

package info (click to toggle)
textual 2.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 55,056 kB
  • sloc: python: 85,423; lisp: 1,669; makefile: 101
file content (28 lines) | stat: -rw-r--r-- 697 bytes parent folder | download
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
26
27
28
from textual._easing import DEFAULT_EASING, EASING
from textual.app import App, ComposeResult
from textual.widgets import Static

ease = EASING[DEFAULT_EASING]


class AnimationApp(App):
    def compose(self) -> ComposeResult:
        self.box = Static("Hello, World!")
        self.box.styles.background = "red"
        self.box.styles.color = "black"
        self.box.styles.padding = (1, 2)
        yield self.box

    def key_1(self):
        self.box.styles.opacity = 1 - ease(0.25)

    def key_2(self):
        self.box.styles.opacity = 1 - ease(0.5)

    def key_3(self):
        self.box.styles.opacity = 1 - ease(0.75)


if __name__ == "__main__":
    app = AnimationApp()
    app.run()