博主原文链接:https://www.yourmetaverse.cn/nlp/347/
Gradio的Button组件介绍
Button组件是Gradio中的一个模块,用于创建一个按钮,并可以为其分配任意的click()事件。按钮的标签(value)可以作为输入使用,或者通过函数的输出来设置。
作为输入:将按钮的值作为字符串传递给函数。
作为输出:期望从函数返回一个字符串,该字符串将作为按钮的标签。
按钮的参数和方法如下:
参数 | 描述 | 数据类型 | 默认值 |
---|---|---|---|
value | 按钮默认显示的文本。如果是可调用对象,则在应用程序加载时将调用该函数以设置组件的初始值。 | str | Callable | “Run” |
variant | 按钮的样式变体。可选值为 ‘primary’、‘secondary’ 和 ‘stop’。 | Literal[‘primary’, ‘secondary’, ‘stop’] | “secondary” |
size | 按钮的大小。可选值为 “sm” 或 “lg”。 | Literal[‘sm’] | Literal[‘lg’] | None | None |
visible | 指定按钮是否可见。 | bool | True |
interactive | 指定按钮是否处于可交互状态。 | bool | True |
elem_id | 可选参数,用于为该组件分配在HTML DOM中的id。可用于定位CSS样式。 | str | None | None |
elem_classes | 可选参数,用于为该组件分配在HTML DOM中的类。可用于定位CSS样式。 | list[str] | str | None | None |
scale | 与同一行中相邻组件相比的相对宽度。例如,如果组件A的scale=2,组件B的scale=1,则A的宽度是B的两倍。应为整数。 | int | None | None |
min_width | 最小像素宽度。如果屏幕空间不足以满足此值,则换行。如果某个scale值导致该组件比min_width更窄,将优先考虑min_width参数。 | int | None | None |
click方法用于添加一个监听器,当组件(如按钮)被点击时触发。方法的参数如下:
参数 | 描述 | 数据类型 | 默认值 |
---|---|---|---|
fn | 包装接口的函数,通常是机器学习模型的预测函数。函数的每个参数对应于一个输入组件,函数应返回一个值或一个值的元组,其中元组中的每个元素对应于一个输出组件。 | Callable | None | required |
inputs | 用作输入的Gradio组件的列表。如果函数不接受输入,应该是一个空列表。 | Component | list[Component] | set[Component] | None | None |
outputs | 用作输出的Gradio组件的列表。如果函数不返回输出,应该是一个空列表。 | Component | list[Component] | None | None |
api_name | 定义此参数将在API文档中公开端点。 | str | None | None |
status_tracker | 用于跟踪状态的参数。 | None | None |
scroll_to_output | 如果为True,则在完成时将滚动到输出组件。 | bool | False |
show_progress | 如果为True,则在等待期间显示进度动画。 | Literal[‘full’] | Literal[‘minimal’] | Literal[‘hidden’] | “full” |
queue | 如果为True,则将请求放入队列中(如果队列已启用)。如果为False,则不会将此事件放入队列,即使队列已启用。如果为None,则使用gradio应用程序的队列设置。 | bool | None | None |
batch | 如果为True,则函数应处理一批输入,即应接受每个参数的输入值列表。列表应具有相等的长度(最多为max_batch_size的长度)。然后,该函数必须返回一个元组的列表(即使只有一个输出组件),其中元组中的每个列表对应于一个输出组件。 | bool | False |
max_batch_size | 如果从队列中调用此方法,则最多可以批处理的输入数量(仅在batch=True时相关)。 | int | 4 |
preprocess | 如果为False,将不会在运行函数之前运行组件数据的预处理(例如,如果使用Image组件调用此方法,则保留为base64字符串)。 | bool | True |
postprocess | 如果为False,将不会在将函数输出返回给浏览器之前运行组件数据的后处理。 | bool | True |
cancels | 要在此监听器被触发时取消的其他事件列表。例如,设置cancels=[click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但当前正在运行的函数将被允许完成。 | dict[str, Any] | list[dict[str, Any]] | None | None |
every | 在客户端连接开启时,每隔一段时间运行此事件。以秒为单位解释。队列必须启用。 | float | None | None |
使用Button组件和其click方法,可以为按钮添加交互功能,响应用户的点击事件,并与其他组件进行交互。