Dynamic forms for Textual TUI Framework
Project description
Textual Forms
Dynamic forms for Textual TUI framework.
Example
from rich.table import Table
from textual.app import App, ComposeResult
from textual.widgets import Static
from textual_forms.forms import TextualForm
FORM_DATA = [
{
'id': 'name',
'required': True,
'placeholder': 'name...'
},
{
'id': 'age',
'type': 'integer',
'required': True,
'placeholder': 'age...'
},
{
'id': 'email',
'required': False,
'placeholder': 'hi@example.com'
},
]
class BasicTextualForm(App):
def compose(self) -> ComposeResult:
yield Static(id='submitted-data')
yield TextualForm(FORM_DATA)
def on_textual_form_submit(self, message: TextualForm.Submit) -> None:
table = Table(*message.data.keys())
table.add_row(*message.data.values())
self.query_one('#submitted-data').update(table)
if __name__ == '__main__':
BasicTextualForm().run()
The above snippet, produces the following screen:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
textual_forms-0.1.0.tar.gz
(3.9 kB
view hashes)
Built Distribution
Close
Hashes for textual_forms-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60aa9469bb40981e6cc2d996bb2c5d38320718d676b49af04338d58e9a1a787d |
|
MD5 | 13fa75a1c5047ce3c8d91c27bf9658ed |
|
BLAKE2b-256 | d04edf3ff6ea51d59f32890a1cffff9378bcd172f4a783ab150fe402f219efc3 |