-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Expand file tree
/
Copy pathevents.py
More file actions
49 lines (40 loc) · 1.29 KB
/
events.py
File metadata and controls
49 lines (40 loc) · 1.29 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# from textual import on
from textual.app import App
from textual.widgets import Button, Digits, Footer
class EventsApp(App):
CSS_PATH = "events.tcss"
BINDINGS = [
("q", "quit", "Quit"),
("b", "toggle_border", "Toggle border"),
]
presses_count = 0
double_border = False
def compose(self):
yield Button(
"Click me!",
id="button",
)
digits = Digits("0", id="digits")
digits.border_subtitle = "Button presses"
yield digits
yield Footer()
def action_toggle_border(self):
self.double_border = not self.double_border
digits = self.query_one("#digits")
if self.double_border:
digits.styles.border = ("double", "yellow")
else:
digits.styles.border = ("solid", "white")
def on_button_pressed(self, event):
if event.button.id == "button":
self.presses_count += 1
digits = self.query_one("#digits")
digits.update(f"{self.presses_count}")
# @on(Button.Pressed, "#button")
# def button_pressed(self, event):
# self.presses_count += 1
# digits = self.query_one("#digits")
# digits.update(f"{self.presses_count}")
if __name__ == "__main__":
app = EventsApp()
app.run()