|
import gradio as gr |
|
from PIL import Image |
|
import numpy as np |
|
|
|
def process_data(text, radio, checkbox, slider, file, image, video, audio, dataframe): |
|
return ( |
|
text, |
|
radio, |
|
checkbox, |
|
slider, |
|
file.name if file else "No file uploaded", |
|
image, |
|
video, |
|
audio, |
|
dataframe |
|
) |
|
with gr.Blocks() as demo: |
|
gr.Markdown('# Gradio 组件示例') |
|
|
|
with gr.Row(): |
|
text_input = gr.Textbox(label="文本输入") |
|
radio_input = gr.Radio(["选项1", "选项2", "选项3"], label="单选按钮") |
|
checkbox_input = gr.CheckboxGroup(["选项A", "选项B", "选项C"], label="复选框") |
|
slider_input = gr.Slider(minimum=0, maximum=100, label="滑块") |
|
|
|
with gr.Row(): |
|
file_input = gr.File(label="文件上传") |
|
image_input = gr.Image(label="图像上传") |
|
video_input = gr.Video(label="视频上传") |
|
audio_input = gr.Audio(label="音频上传") |
|
|
|
with gr.Row(): |
|
dataframe_input = gr.Dataframe(label="数据表格") |
|
|
|
submit_button = gr.Button("提交") |
|
|
|
with gr.Row(): |
|
text_output = gr.Textbox(label="文本输出") |
|
radio_output = gr.Textbox(label="单选按钮输出") |
|
checkbox_output = gr.Textbox(label="单选按钮输出") |
|
slider_output = gr.Textbox(label="单选按钮输出") |
|
file_output = gr.Textbox(label="文件输出") |
|
image_output = gr.Textbox(label="图像输出") |
|
video_output = gr.Textbox(label="视频输出") |
|
audio_output = gr.Textbox(label="音频输出") |
|
dataframe_output = gr.Textbox(label="数据表格输出") |
|
|
|
submit_button.click( |
|
fn=process_data, |
|
inputs=[text_input, radio_input, checkbox_input, slider_input, file_input, image_input, video_input, |
|
audio_input, dataframe_input], |
|
outputs=[text_output, radio_output, checkbox_output, slider_output, file_output, image_input, video_input, |
|
audio_output, dataframe_output] |
|
) |
|
|
|
demo.launch(share=True) |