| 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) |