Custom Components GalleryNEW

Explore

New to Gradio? Start here: Getting Started

See the Release History

EventData

gradio.EventData(target, ···)

Description

When a subclass of EventData is added as a type hint to an argument of an event listener method, this object will be passed as that argument. It contains information about the event that triggered the listener, such the target object, and other data related to the specific event that are attributes of the subclass.

Example Usage

table = gr.Dataframe([[1, 2, 3], [4, 5, 6]])
gallery = gr.Gallery([("cat.jpg", "Cat"), ("dog.jpg", "Dog")])
textbox = gr.Textbox("Hello World!")

statement = gr.Textbox()

def on_select(evt: gr.SelectData):  # SelectData is a subclass of EventData
    return f"You selected {evt.value} at {evt.index} from {evt.target}"

table.select(on_select, None, statement)
gallery.select(on_select, None, statement)
textbox.select(on_select, None, statement)

Initialization

Parameter Description
target

Block | None

required

The target object that triggered the event. Can be used to distinguish if multiple components are bound to the same listener.

Demos

app.py
import gradio as gr
import numpy as np

with gr.Blocks() as demo:
imgs = gr.State()
gallery = gr.Gallery(allow_preview=False)

def deselect_images():
return gr.Gallery(selected_index=None)

def generate_images():
images = []
for _ in range(9):
image = np.ones((100, 100, 3), dtype=np.uint8) * np.random.randint(
0, 255, 3
) # image is a solid single color
images.append(image)
return images, images

demo.load(generate_images, None, [gallery, imgs])

with gr.Row():
selected = gr.Number(show_label=False)
darken_btn = gr.Button("Darken selected")
deselect_button = gr.Button("Deselect")

deselect_button.click(deselect_images, None, gallery)

def get_select_index(evt: gr.SelectData):
return evt.index

gallery.select(get_select_index, None, selected)

def darken_img(imgs, index):
index = int(index)
imgs[index] = np.round(imgs[index] * 0.8).astype(np.uint8)