VenusM1nT/HCIProject
1
1import gradio as gr2from PIL import Image3import time4 5with gr.Blocks(theme='NoCrypt/miku') as demo:6 feedback_visible = gr.State(False)7 8 def submit_feedback(feedback):9 # 隐藏评价区域,并返回提示信息10 return {feedback_group: gr.update(visible=False)}, gr.Info("感谢您的评价")11 12 def func(txt, inimage, p1, p2, p3, p4, progress=gr.Progress()):13 progress(0, desc="Starting")14 time.sleep(1)15 progress(0.3, desc="Progressing")16 time.sleep(p1)17 progress(1, desc="Completed")18 img = Image.open('img/bg.png')19 20 time.sleep(2)21 # 返回显示评价区域22 return img, gr.update(visible=True)23 24 with gr.Row():25 with gr.Column():26 textinfo = gr.Textbox(label="输入文字")27 with gr.Row():28 inputimage = gr.Image(label="输入图片")29 with gr.Column():30 para1 = gr.Slider(label="参数 1")31 para2 = gr.Slider(label="参数 2")32 para3 = gr.Slider(label="参数 3")33 para4 = gr.Slider(label="参数 4")34 genebutton = gr.Button("生成")35 with gr.Column():36 outputimage = gr.Image(label="输出图片")37 38 # 使用 Group 替代 Box,并将其初始设为不可见39 with gr.Group(visible=False) as feedback_group:40 feedback = gr.Textbox(label="请输入您的使用评价")41 submit_btn = gr.Button("Submit")42 43 submit_btn.click(44 fn=submit_feedback,45 inputs=[feedback],46 outputs=[feedback_group]47 )48 49 genebutton.click(50 fn=func,51 inputs=[textinfo, inputimage, para1, para2, para3, para4],52 outputs=[outputimage, feedback_group]53 )54 55demo.launch()