- Components
- Button
Building Demos
Interface ChatInterface TabbedInterface BlocksBlocks Layout
render Accordion Column Group Row TabComponents
Introduction AnnotatedImage Audio BarPlot Button Chatbot Checkbox CheckboxGroup ClearButton Code ColorPicker Dataframe Dataset DateTime DownloadButton Dropdown DuplicateButton File FileExplorer Gallery HighlightedText HTML Image ImageEditor JSON Label LinePlot LoginButton LogoutButton Markdown Model3D MultimodalTextbox Number ParamViewer Plot Radio ScatterPlot SimpleImage Slider State Textbox Timer UploadButton VideoHelpers
EventData DeletedFileData KeyUpData LikeData SelectData FileData Progress Examples Dependency load make_waveform on set_static_pathsModals
Error Info WarningRoutes
mount_gradio_app RequestOther
Flagging Themes NO_RELOADNew to Gradio? Start here: Getting Started
See the Release History
Button
gradio.Button(···)
Description
Creates a button that can be assigned arbitrary .click() events. The value (label) of the button can be used as an input to the function (rarely used) or set via the output of a function.
Behavior
As input component
:
(Rarely used) the
str
corresponding to the button label when the button is clicked
Your function should accept one of these types:
def predict(
value: str | None
...
As output component : string corresponding to the button label
Your function should return one of these types:
def predict(···) -> str | None
...
return value
Initialization
value: str | Callable
value: str | Callable
=
"Run"
Default text for the button to display. If callable, the function will be called whenever the app loads to set the initial value of the component.
every: Timer | float | None
every: Timer | float | None
=
None
Continously calls `value` to recalculate it if `value` is a function (has no effect otherwise). Can provide a Timer whose tick resets `value`, or a float that provides the regular interval for the reset Timer.
inputs: Component | list[Component] | set[Component] | None
inputs: Component | list[Component] | set[Component] | None
=
None
Components that are used as inputs to calculate `value` if `value` is a function (has no effect otherwise). `value` is recalculated any time the inputs change.
variant: Literal['primary', 'secondary', 'stop']
variant: Literal['primary', 'secondary', 'stop']
=
"secondary"
'primary' for main call-to-action, 'secondary' for a more subdued style, 'stop' for a stop button.
size: Literal['sm', 'lg'] | None
size: Literal['sm', 'lg'] | None
=
None
Size of the button. Can be "sm" or "lg".
icon: str | None
icon: str | None
=
None
URL or path to the icon file to display within the button. If None, no icon will be displayed.
link: str | None
link: str | None
=
None
URL to open when the button is clicked. If None, no link will be used.
visible: bool
visible: bool
=
True
If False, component will be hidden.
interactive: bool
interactive: bool
=
True
If False, the Button will be in a disabled state.
elem_id: str | None
elem_id: str | None
=
None
An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.
elem_classes: list[str] | str | None
elem_classes: list[str] | str | None
=
None
An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.
render: bool
render: bool
=
True
If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.
key: int | str | None
key: int | str | None
=
None
if assigned, will be used to assume identity across a re-render. Components that have the same key across a re-render will have their value preserved.
scale: int | None
scale: int | None
=
None
relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.
min_width: int | None
min_width: int | None
=
None
minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.
Shortcuts
Class | Interface String Shortcut | Initialization |
---|---|---|
|
"button" |
Uses default values |
|
"clearbutton" |
Uses default values |
|
"duplicatebutton" |
Uses default values |
|
"loginbutton" |
Uses default values |
|
"logoutbutton" |
Uses default values |
Event Listeners
Description
Event listeners allow you to respond to user interactions with the UI components you've defined in a Gradio Blocks app. When a user interacts with an element, such as changing a slider value or uploading an image, a function is called.
Supported Event Listeners
The Button component supports the following event listeners. Each event listener takes the same parameters, which are listed in the