mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
grid align
This commit is contained in:
42
examples/calculator.py
Normal file
42
examples/calculator.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from textual.app import App
|
||||
from textual import events
|
||||
from textual.view import View
|
||||
from textual.widgets import Placeholder
|
||||
from textual.layouts.grid import GridLayout
|
||||
|
||||
|
||||
class GridTest(App):
|
||||
async def on_load(self, event: events.Load) -> None:
|
||||
await self.bind("q,ctrl+c", "quit", "Quit")
|
||||
|
||||
async def on_startup(self, event: events.Startup) -> None:
|
||||
|
||||
layout = GridLayout()
|
||||
view = await self.push_view(View(layout=layout))
|
||||
|
||||
layout.add_column(name="col1", max_size=20)
|
||||
layout.add_column(name="col2", max_size=20)
|
||||
layout.add_column(name="col3", max_size=20)
|
||||
layout.add_column(name="col4", max_size=20)
|
||||
|
||||
layout.add_row(name="numbers", max_size=10)
|
||||
layout.add_row(name="row1", max_size=10)
|
||||
layout.add_row(name="row2", max_size=10)
|
||||
layout.add_row(name="row3", max_size=10)
|
||||
layout.add_row(name="row4", max_size=10)
|
||||
|
||||
layout.add_area("numbers", ("col1-start", "col4-end"), "numbers")
|
||||
layout.add_area("zero", ("col1-start", "col2-end"), "row4")
|
||||
layout.add_area("dot", "col3", "row4")
|
||||
layout.add_area("equals", "col4", "row4")
|
||||
|
||||
layout.add_widget(Placeholder(name="numbers"), area="numbers")
|
||||
layout.add_widget(Placeholder(name="0"), area="zero")
|
||||
layout.add_widget(Placeholder(name="."), area="dot")
|
||||
layout.add_widget(Placeholder(name="="), area="equals")
|
||||
|
||||
layout.set_gap(1)
|
||||
layout.set_align("center", "center")
|
||||
|
||||
|
||||
GridTest.run(title="Calculator Test")
|
||||
Reference in New Issue
Block a user