| import gradio as gr | |
| def change_tab(): | |
| return gr.Tabs(selected=2) | |
| identity_demo, input_demo, output_demo = gr.Blocks(), gr.Blocks(), gr.Blocks() | |
| with identity_demo: | |
| gr.Interface(lambda x: x, "text", "text") | |
| with input_demo: | |
| t = gr.Textbox(label="Enter your text here") | |
| with gr.Row(): | |
| btn = gr.Button("Submit") | |
| clr = gr.ClearButton(t) | |
| with output_demo: | |
| gr.Textbox("This is a static output") | |
| with gr.Blocks() as demo: | |
| gr.Markdown("Three demos in one!") | |
| with gr.Tabs(selected=1) as tabs: | |
| with gr.TabItem("Text Identity", id=0) as tab0: | |
| tab0.select(lambda: gr.Tabs(selected=0), None, tabs) | |
| identity_demo.render() | |
| with gr.TabItem("Text Input", id=1) as tab1: | |
| tab1.select(lambda: gr.Tabs(selected=1), None, tabs) | |
| input_demo.render() | |
| with gr.TabItem("Text Static", id=2) as tab2: | |
| tab2.select(lambda: gr.Tabs(selected=2), None, tabs) | |
| output_demo.render() | |
| btn = gr.Button("Change tab") | |
| btn.click(inputs=None, outputs=tabs, fn=change_tab) | |
| if __name__ == "__main__": | |
| demo.launch() | |