mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
fizzbuzz examples
This commit is contained in:
@@ -5,5 +5,6 @@ Screen {
|
||||
FizzBuzz {
|
||||
width: auto;
|
||||
height: auto;
|
||||
background: $panel;
|
||||
background: $primary;
|
||||
color: $text;
|
||||
}
|
||||
@@ -19,7 +19,7 @@ class FizzBuzz(Static):
|
||||
|
||||
|
||||
class FizzBuzzApp(App):
|
||||
CSS_PATH = "fizzbuzz.css"
|
||||
CSS_PATH = "fizzbuzz01.css"
|
||||
|
||||
def compose(self) -> ComposeResult:
|
||||
yield FizzBuzz()
|
||||
10
docs/examples/guide/widgets/fizzbuzz02.css
Normal file
10
docs/examples/guide/widgets/fizzbuzz02.css
Normal file
@@ -0,0 +1,10 @@
|
||||
Screen {
|
||||
layout: center;
|
||||
}
|
||||
|
||||
FizzBuzz {
|
||||
width: auto;
|
||||
height: auto;
|
||||
background: $primary;
|
||||
color: $text;
|
||||
}
|
||||
35
docs/examples/guide/widgets/fizzbuzz02.py
Normal file
35
docs/examples/guide/widgets/fizzbuzz02.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from rich.table import Table
|
||||
|
||||
from textual.app import App, ComposeResult
|
||||
from textual.geometry import Size
|
||||
from textual.widgets import Static
|
||||
|
||||
|
||||
class FizzBuzz(Static):
|
||||
def on_mount(self) -> None:
|
||||
table = Table("Number", "Fizz?", "Buzz?", expand=True)
|
||||
for n in range(1, 16):
|
||||
fizz = not n % 3
|
||||
buzz = not n % 5
|
||||
table.add_row(
|
||||
str(n),
|
||||
"fizz" if fizz else "",
|
||||
"buzz" if buzz else "",
|
||||
)
|
||||
self.update(table)
|
||||
|
||||
def get_content_width(self, container: Size, viewport: Size) -> int:
|
||||
"""Force content width size."""
|
||||
return 50
|
||||
|
||||
|
||||
class FizzBuzzApp(App):
|
||||
CSS_PATH = "fizzbuzz02.css"
|
||||
|
||||
def compose(self) -> ComposeResult:
|
||||
yield FizzBuzz()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = FizzBuzzApp()
|
||||
app.run()
|
||||
Reference in New Issue
Block a user