| Server IP : 85.214.239.14 / Your IP : 216.73.216.27 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/cwd/proc/3/cwd/usr/share/doc/python3-rich/examples/ |
Upload File : |
"""
Demonstrates a dynamic Layout
"""
from datetime import datetime
from time import sleep
from rich.align import Align
from rich.console import Console
from rich.layout import Layout
from rich.live import Live
from rich.text import Text
console = Console()
layout = Layout()
layout.split(
Layout(name="header", size=1),
Layout(ratio=1, name="main"),
Layout(size=10, name="footer"),
)
layout["main"].split_row(Layout(name="side"), Layout(name="body", ratio=2))
layout["side"].split(Layout(), Layout())
layout["body"].update(
Align.center(
Text(
"""This is a demonstration of rich.Layout\n\nHit Ctrl+C to exit""",
justify="center",
),
vertical="middle",
)
)
class Clock:
"""Renders the time in the center of the screen."""
def __rich__(self) -> Text:
return Text(datetime.now().ctime(), style="bold magenta", justify="center")
layout["header"].update(Clock())
with Live(layout, screen=True, redirect_stderr=False) as live:
try:
while True:
sleep(1)
except KeyboardInterrupt:
pass