mirror of
https://github.com/gradio-app/gradio.git
synced 2025-02-05 11:10:03 +08:00
94c9512df9
* the original demo would fail after switching to the 3rd tab once, by not returning to it again when directed to. it appears that somewhere in tabs, that selected is not being updated when a tabitem is selected. * Changelog + notebooks: Co-authored-by: freddyaboulton <alfonsoboulton@gmail.com>
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import gradio as gr
|
|
|
|
|
|
def change_tab():
|
|
return gr.Tabs.update(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.Button("Clear")
|
|
clr.click(lambda x: "", t, 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.update(selected=0), None, tabs)
|
|
identity_demo.render()
|
|
with gr.TabItem("Text Input", id=1) as tab1:
|
|
tab1.select(lambda: gr.Tabs.update(selected=1), None, tabs)
|
|
input_demo.render()
|
|
with gr.TabItem("Text Static", id=2) as tab2:
|
|
tab2.select(lambda: gr.Tabs.update(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()
|