You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradio技术问题:如何将Tab1输出传至Tab2输入并切换至Tab2

解决方案

要实现将Tab1的output_text2内容传递到Tab2的input_text2并自动切换标签页,只需修改以下几处:

  1. 添加状态变量跟踪标签页:用gr.State存储当前选中的标签索引,0对应tab1,1对应tab2。
  2. 改造send函数:让它接收output_text2的内容,返回要填充给input_text2的值,以及切换到tab2的状态值。
  3. 绑定按钮事件:让send_btn的点击事件关联输入输出,同时完成内容传递和标签切换。

修改后的完整代码:

import gradio as gr

def processing1(text):
    return "result1", "result2"

# 接收output_text2的内容,返回要填充的文本和切换标签的状态
def send(output_text2_content):
    return output_text2_content, 1  # 1代表切换到第二个标签(tab2)

def processing2(text):
    return "result3"

tab1 = gr.Blocks()
with tab1:
    with gr.Row():
        with gr.Column():
            input_text = gr.TextArea(label="Input Text", placeholder="Paste your text here")
            submit_btn = gr.Button("submit")
        with gr.Column():
            output_text1 = gr.TextArea(label="Output Text")
            output_text2 = gr.TextArea(label="Output Text2")
            send_btn = gr.Button("send to tab2")
    submit_btn.click(processing1, inputs=[input_text], outputs=[output_text1, output_text2])
    # 绑定输入为output_text2,输出为input_text2和标签状态
    send_btn.click(send, inputs=[output_text2], outputs=[input_text2, current_tab])

tab2 = gr.Blocks()
with tab2:
    with gr.Row():
        with gr.Column():
            input_text2 = gr.TextArea(label="Input Text", placeholder="Paste your text here")
            checkbox1 = gr.Checkbox(label="checkbox1")
            checkbox2 = gr.Checkbox(label="checkbox2")
            submit_btn2 = gr.Button("submit")
        with gr.Column():
            output_text3 = gr.TextArea(label="Output Text")

    submit_btn2.click(processing2, inputs=input_text2, outputs=output_text3)

# 创建状态变量跟踪当前标签,初始选中tab1
current_tab = gr.State(0)
# 将标签选中状态绑定到TabbedInterface
demo = gr.TabbedInterface([tab1, tab2], tab_names=["tab1", "tab2"], selected=current_tab)
demo.launch()

关键修改说明:

  • gr.State变量:current_tab控制TabbedInterface的选中标签,修改它的值就能自动切换标签页。
  • send函数逻辑:返回两个结果,第一个是要传递的文本内容,第二个是目标标签的索引。
  • 按钮事件关联:send_btn点击后,同时触发input_text2的内容更新和标签页切换。

内容的提问来源于stack exchange,提问作者Wade Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:52:49