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

点击提交后如何刷新Gradio按钮并修改输入文本框标签?

实现Gradio序列问答的输入框标签动态修改功能

要实现点击提交后修改输入框标签并刷新输入内容,原代码的gr.Interface属于声明式结构,难以支持组件属性的动态修改,需要改用gr.Blocks构建界面,通过事件绑定实现动态更新。

完整实现代码

import gradio as gr

def generate_output(input_text):
    output_text = "Hello, " + input_text + "!"
    # 返回输出内容,同时返回输入框的更新配置
    return output_text, gr.update(label="question 2", value="")

with gr.Blocks(title="Sequence Q&A Demo") as demo:
    gr.Markdown("# 序列问答演示")
    gr.Markdown("输入文本提交后,输入框标签会更新为question 2,同时清空输入内容")
    
    input_box = gr.Textbox(label="Input Text")
    output_box = gr.Textbox(label="Output")
    submit_btn = gr.Button("提交")
    
    # 绑定提交按钮事件:触发处理函数,同时更新输出框和输入框
    submit_btn.click(
        fn=generate_output,
        inputs=input_box,
        outputs=[output_box, input_box]
    )

demo.launch(share=False)

关键说明

  • 采用gr.Blocks:这是Gradio的底层API,支持组件的动态属性修改和自定义交互逻辑
  • 扩展函数返回值:generate_output除了生成输出文本,还返回gr.update()对象,用来修改输入框的label为"question 2",同时将value设为空实现输入内容的“刷新”
  • 事件关联:通过submit_btn.click()将处理结果同时绑定到输出框和输入框,一次提交完成两个更新操作

内容的提问来源于stack exchange,提问作者ardito.bryan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 19:33:11