|
import gradio as gr |
|
|
|
def greet(name): |
|
return "Hello " + name + "!" |
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("### This is a couple of elements without any gr.Group. Form elements naturally group together anyway.") |
|
gr.Textbox("A") |
|
gr.Number(3) |
|
gr.Button() |
|
gr.Image() |
|
gr.Slider() |
|
|
|
gr.Markdown("### This is the same set put in a gr.Group.") |
|
with gr.Group(): |
|
gr.Textbox("A") |
|
gr.Number(3) |
|
gr.Button() |
|
gr.Image() |
|
gr.Slider() |
|
|
|
gr.Markdown("### Now in a Row, no group.") |
|
with gr.Row(): |
|
gr.Textbox("A") |
|
gr.Number(3) |
|
gr.Button() |
|
gr.Image() |
|
gr.Slider() |
|
|
|
gr.Markdown("### Now in a Row in a group.") |
|
with gr.Group(): |
|
with gr.Row(): |
|
gr.Textbox("A") |
|
gr.Number(3) |
|
gr.Button() |
|
gr.Image() |
|
gr.Slider() |
|
|
|
gr.Markdown("### Several rows grouped together.") |
|
with gr.Group(): |
|
with gr.Row(): |
|
gr.Textbox("A") |
|
gr.Number(3) |
|
gr.Button() |
|
with gr.Row(): |
|
gr.Image() |
|
gr.Audio() |
|
|
|
gr.Markdown("### Several columns grouped together. If columns are uneven, there is a gray group background.") |
|
with gr.Group(): |
|
with gr.Row(): |
|
with gr.Column(): |
|
name = gr.Textbox(label="Name") |
|
btn = gr.Button("Hello") |
|
gr.Dropdown(["a", "b", "c"], interactive=True) |
|
gr.Number() |
|
gr.Textbox() |
|
with gr.Column(): |
|
gr.Image() |
|
gr.Dropdown(["a", "b", "c"], interactive=True) |
|
with gr.Row(): |
|
gr.Number(scale=2) |
|
gr.Textbox() |
|
|
|
gr.Markdown("### container=False removes label, padding, and block border, placing elements 'directly' on background.") |
|
gr.Radio([1,2,3], container=False) |
|
gr.Textbox(container=False) |
|
gr.Image("https://picsum.photos/id/237/200/300", container=False, height=200) |
|
|
|
gr.Markdown("### Textbox, Dropdown, and Number input boxes takes up full space when within a group without a container.") |
|
|
|
with gr.Group(): |
|
name = gr.Textbox(label="Name") |
|
output = gr.Textbox(show_label=False, container=False) |
|
greet_btn = gr.Button("Greet") |
|
with gr.Row(): |
|
gr.Dropdown(["a", "b", "c"], interactive=True, container=False) |
|
gr.Textbox(container=False) |
|
gr.Number(container=False) |
|
gr.Image(height=100) |
|
greet_btn.click(fn=greet, inputs=name, outputs=output, api_name="greet") |
|
|
|
gr.Markdown("### More examples") |
|
|
|
with gr.Group(): |
|
gr.Chatbot() |
|
with gr.Row(): |
|
name = gr.Textbox(label="Prompot", container=False) |
|
go = gr.Button("go", scale=0) |
|
|
|
with gr.Column(): |
|
gr.Radio([1,2,3], container=False) |
|
gr.Slider(0, 20, container=False) |
|
|
|
with gr.Group(): |
|
with gr.Row(): |
|
gr.Dropdown(["a", "b", "c"], interactive=True, container=False, elem_id="here2") |
|
gr.Number(container=False) |
|
gr.Textbox(container=False) |
|
|
|
with gr.Row(): |
|
with gr.Column(): |
|
gr.Dropdown(["a", "b", "c"], interactive=True, container=False, elem_id="here2") |
|
with gr.Column(): |
|
gr.Number(container=False) |
|
with gr.Column(): |
|
gr.Textbox(container=False) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|