mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
* fix for min and max with fr unints * snapshit * forgot snapshit tests * fix resolve * added unit tests * Windoze fix
51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
from textual.app import App, ComposeResult
|
|
from textual.containers import Horizontal, Vertical, VerticalScroll
|
|
from textual.widgets import Header, Footer, Static
|
|
|
|
|
|
class ScreenSplitApp(App[None]):
|
|
CSS = """
|
|
Horizontal {
|
|
width: 1fr;
|
|
}
|
|
|
|
Vertical {
|
|
width: 1fr;
|
|
background: blue;
|
|
min-width: 20;
|
|
}
|
|
|
|
#scroll1 {
|
|
width: 1fr;
|
|
background: $panel;
|
|
}
|
|
|
|
#scroll2 {
|
|
width: 2fr;
|
|
background: $panel;
|
|
}
|
|
|
|
Static {
|
|
width: 1fr;
|
|
content-align: center middle;
|
|
background: $boost;
|
|
}
|
|
|
|
"""
|
|
|
|
def compose(self) -> ComposeResult:
|
|
yield Header()
|
|
with Horizontal():
|
|
yield Vertical()
|
|
with VerticalScroll(id="scroll1"):
|
|
for n in range(100):
|
|
yield Static(f"This is content number {n}")
|
|
with VerticalScroll(id="scroll2"):
|
|
for n in range(100):
|
|
yield Static(f"This is content number {n}")
|
|
yield Footer()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ScreenSplitApp().run()
|