Gradio中button组件的基本使用方式

 更新时间:2024年11月11日 09:29:19   作者:土山炮  
Gradio中的button组件用于实现点击事件,通过click事件绑定函数来处理值的变化,点击时,函数接收组件的值作为输入,返回新的值或更新组件的属性,示例代码展示了如何在点击按钮时修改文本框的值并控制按钮的可见性

Gradio中button组件的基本使用

Gradio中的button组件是用于在页面中放置按钮的组件,是最常用的组件之一。

其常用于一些点击事件的实现,具体需要通过其组件的click事件实现,但是在使用时又与写传统前端代码时的click实现不太一样。

简单来说

前端代码中点击按钮要实现的东西(包含其他组件值的变化)基本都写在点击触发的函数中,但是gradio中button组件的click事件中的函数只做值的处理,改变其他组件的值或属性(呈现结果)是通过函数的输出来控制

gradio.Button.click(fn, inputs, outputs)
  • 使用click事件时最常用的就是这三个参数,fn是点击时触发的函数,只要填函数本身;
  • inputs是函数的输入参数,需要注意的是实际填的并不是int、str这样的基本类型,而是gradio组件本身,比如gradio.Textbox,但并不是说会将gradio组件直接传给fn,而是将组件的值(value属性)传给fn,所以fn接的还是基本类型;
  • outputs是函数的输出参数,和inputs一样,也是gradio组件,如果最终的目的是想改变outputs中组件的值的话,fn回传基本类型即可,如果是需要改变组件的其他属性(例如visible、interactive),那就需要回传gr.update()来实现

示例代码

import gradio as gr

def update(name):
    return f"Welcome to Gradio, {name}!", gr.update(interactive=False), gr.update(visible=True)
def clear():
    return "", "", gr.update(interactive=True), gr.update(visible=False)

with gr.Blocks() as demo:
    gr.Markdown("Start typing below and then click **Run** to see the output.")
    with gr.Row():
        inp = gr.Textbox(placeholder="What is your name?")
        out = gr.Textbox()
    btn = gr.Button("Run")
    btn_c = gr.Button("clear", visible=False)
    btn.click(fn=update, inputs=inp, outputs=[out,btn,btn_c])
    btn_c.click(fn=clear, outputs=[inp,out,btn,btn_c])

demo.launch()

以上代码就可以实现点击Run按钮时将左侧文本框的输入拼接上"Welcome to Gradio",并显示在右侧文本框中,同时将Run按钮置灰,显示出clear按钮,在clear按钮点击后将左右文本框清空并让Run按钮回复、clear按钮消失。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python实现多人聊天室

    python实现多人聊天室

    这篇文章主要为大家详细介绍了python实现多人聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python 将字符串转换为列表的7种方法汇总

    Python 将字符串转换为列表的7种方法汇总

    这篇文章主要介绍了Python 将字符串转换为列表的7种方法汇总,在本文中,我们将尝试将给定的字符串转换为列表,其中根据用户的选择,遇到空格或任何其他特殊字符,为此,我们在string中使用split()方法,需要的朋友可以参考下
    2023-11-11
  • python 3.5实现检测路由器流量并写入txt的方法实例

    python 3.5实现检测路由器流量并写入txt的方法实例

    这篇文章主要给大家介绍了关于利用python 3.5实现检测路由器流量并写入txt的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2017-12-12
  • 解决Python print 输出文本显示 gbk 编码错误问题

    解决Python print 输出文本显示 gbk 编码错误问题

    这篇文章主要介绍了解决Python print 输出文本显示 gbk 编码错误问题,本文给出了三种解决方法,需要的朋友可以参考下
    2018-07-07
  • python 中Arduino串口传输数据到电脑并保存至excel表格

    python 中Arduino串口传输数据到电脑并保存至excel表格

    这篇文章主要介绍了python Arduino串口传输数据到电脑并保存至excel表格,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 简单了解django处理跨域请求最佳解决方案

    简单了解django处理跨域请求最佳解决方案

    这篇文章主要介绍了简单了解django处理跨域请求最佳解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • YOLOv5车牌识别实战教程(一)引言与准备工作

    YOLOv5车牌识别实战教程(一)引言与准备工作

    这篇文章主要介绍了YOLOv5车牌识别实战教程(一)引言与准备工作,在这个教程中,我们将一步步教你如何使用YOLOv5进行车牌识别,帮助你快速掌握YOLOv5车牌识别技能,需要的朋友可以参考下
    2023-04-04
  • python的简单web框架flask快速实现详解

    python的简单web框架flask快速实现详解

    这篇文章主要为大家介绍了python的简单web框架flask快速实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Python OpenCV实现图像增强操作详解

    Python OpenCV实现图像增强操作详解

    由于很多不确定因素,导致图像采集的光环境极其复杂;为了提高目标检测模型的泛化能力,本文将使用python中的opencv模块实现常见的图像增强方法,感兴趣的可以了解一下
    2022-10-10
  • Python爬虫包BeautifulSoup实例(三)

    Python爬虫包BeautifulSoup实例(三)

    这篇文章主要为大家详细介绍了Python爬虫包BeautifulSoup实例,具有一定的参考价值,感兴趣的朋友可以参考一下
    2018-06-06

最新评论