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
|
from textual.app import App, ComposeResult
from textual.containers import Container, Horizontal, VerticalScroll
from textual.widgets import Header, Static
class CombiningLayoutsExample(App):
CSS_PATH = "combining_layouts.tcss"
def compose(self) -> ComposeResult:
yield Header()
with Container(id="app-grid"):
with VerticalScroll(id="left-pane"):
for number in range(15):
yield Static(f"Vertical layout, child {number}")
with Horizontal(id="top-right"):
yield Static("Horizontally")
yield Static("Positioned")
yield Static("Children")
yield Static("Here")
with Container(id="bottom-right"):
yield Static("This")
yield Static("panel")
yield Static("is")
yield Static("using")
yield Static("grid layout!", id="bottom-right-final")
if __name__ == "__main__":
app = CombiningLayoutsExample()
app.run()
|