| import gradio as gr |
|
|
|
|
| data=["a","b","c","d"] |
| max_textboxes = len(data) |
| def click_event(slim, talk): |
| talk=slim |
| return talk |
|
|
| def variable_outputs(k): |
| k = int(k) |
| return [gr.Button(visible=True)]*k + [gr.Button(visible=False)]*(max_textboxes-k) |
|
|
| with gr.Blocks() as demo: |
| |
| arf = '' |
| out_box = gr.Textbox() |
| s = gr.Slider(1, max_textboxes, value=max_textboxes, step=1, label="How many textboxes to show:") |
| textboxes = [] |
| for i in range(max_textboxes): |
| t = gr.Button(value=f"{data[i]}") |
| textboxes.append(t) |
| arf = textboxes[i] |
| arf.click(click_event, arf, out_box) |
|
|
| s.change(variable_outputs, s, textboxes) |
|
|
| if __name__ == "__main__": |
| demo.launch() |