import gradio as gr from PIL import Image import time with gr.Blocks(theme='NoCrypt/miku') as demo: feedback_visible = gr.State(False) def submit_feedback(feedback): # 隐藏评价区域,并返回提示信息 return {feedback_group: gr.update(visible=False)}, gr.Info("感谢您的评价") def func(txt, inimage, p1, p2, p3, p4, progress=gr.Progress()): progress(0, desc="Starting") time.sleep(1) progress(0.3, desc="Progressing") time.sleep(p1) progress(1, desc="Completed") img = Image.open('img/bg.png') time.sleep(2) # 返回显示评价区域 return img, gr.update(visible=True) with gr.Row(): with gr.Column(): textinfo = gr.Textbox(label="输入文字") with gr.Row(): inputimage = gr.Image(label="输入图片") with gr.Column(): para1 = gr.Slider(label="参数 1") para2 = gr.Slider(label="参数 2") para3 = gr.Slider(label="参数 3") para4 = gr.Slider(label="参数 4") genebutton = gr.Button("生成") with gr.Column(): outputimage = gr.Image(label="输出图片") # 使用 Group 替代 Box,并将其初始设为不可见 with gr.Group(visible=False) as feedback_group: feedback = gr.Textbox(label="请输入您的使用评价") submit_btn = gr.Button("Submit") submit_btn.click( fn=submit_feedback, inputs=[feedback], outputs=[feedback_group] ) genebutton.click( fn=func, inputs=[textinfo, inputimage, para1, para2, para3, para4], outputs=[outputimage, feedback_group] ) demo.launch()