File size: 1,779 Bytes
ee5a360
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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()