33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from textual.app import App
|
|
from textual.widgets import TabbedContent, TabPane, TextArea
|
|
|
|
class SimpleCLITool(App):
|
|
|
|
async def on_mount(self):
|
|
# Create TabbedContent with two tabs
|
|
tabbed_content = TabbedContent()
|
|
|
|
# First Tab with its content
|
|
first_tab = TabPane("First Tab")
|
|
first_tab_content = TextArea()
|
|
first_tab_content.value = "This is the content of the first tab. " * 10
|
|
await first_tab.mount(first_tab_content)
|
|
|
|
# Second Tab with its content
|
|
second_tab = TabPane("Second Tab")
|
|
second_tab_content = TextArea()
|
|
second_tab_content.value = "This is the content of the second tab. " * 10
|
|
await second_tab.mount(second_tab_content)
|
|
|
|
# Add tabs to TabbedContent
|
|
tabbed_content.add_tab(first_tab, "First Tab")
|
|
tabbed_content.add_tab(second_tab, "Second Tab")
|
|
|
|
# Dock the TabbedContent into the app's view
|
|
await self.view.dock(tabbed_content)
|
|
|
|
# Create an instance of the app and run it
|
|
if __name__ == "__main__":
|
|
app = SimpleCLITool()
|
|
app.run()
|