Gradio中button組件的基本使用方式
Gradio中button組件的基本使用
Gradio中的button組件是用于在頁(yè)面中放置按鈕的組件,是最常用的組件之一。
其常用于一些點(diǎn)擊事件的實(shí)現(xiàn),具體需要通過(guò)其組件的click事件實(shí)現(xiàn),但是在使用時(shí)又與寫(xiě)傳統(tǒng)前端代碼時(shí)的click實(shí)現(xiàn)不太一樣。
簡(jiǎn)單來(lái)說(shuō)
前端代碼中點(diǎn)擊按鈕要實(shí)現(xiàn)的東西(包含其他組件值的變化)基本都寫(xiě)在點(diǎn)擊觸發(fā)的函數(shù)中,但是gradio中button組件的click事件中的函數(shù)只做值的處理,改變其他組件的值或?qū)傩裕ǔ尸F(xiàn)結(jié)果)是通過(guò)函數(shù)的輸出來(lái)控制
gradio.Button.click(fn, inputs, outputs)
- 使用click事件時(shí)最常用的就是這三個(gè)參數(shù),fn是點(diǎn)擊時(shí)觸發(fā)的函數(shù),只要填函數(shù)本身;
- inputs是函數(shù)的輸入?yún)?shù),需要注意的是實(shí)際填的并不是int、str這樣的基本類型,而是gradio組件本身,比如
gradio.Textbox,但并不是說(shuō)會(huì)將gradio組件直接傳給fn,而是將組件的值(value屬性)傳給fn,所以fn接的還是基本類型; - outputs是函數(shù)的輸出參數(shù),和inputs一樣,也是gradio組件,如果最終的目的是想改變outputs中組件的值的話,fn回傳基本類型即可,如果是需要改變組件的其他屬性(例如visible、interactive),那就需要回傳
gr.update()來(lái)實(shí)現(xiàn)
示例代碼
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()以上代碼就可以實(shí)現(xiàn)點(diǎn)擊Run按鈕時(shí)將左側(cè)文本框的輸入拼接上"Welcome to Gradio",并顯示在右側(cè)文本框中,同時(shí)將Run按鈕置灰,顯示出clear按鈕,在clear按鈕點(diǎn)擊后將左右文本框清空并讓Run按鈕回復(fù)、clear按鈕消失。

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 實(shí)現(xiàn)在shell窗口中編寫(xiě)print不向屏幕輸出
這篇文章主要介紹了python 實(shí)現(xiàn)在shell窗口中編寫(xiě)print不向屏幕輸出的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
pytorch 同步機(jī)制的實(shí)現(xiàn)
在PyTorch中,當(dāng)多個(gè)算子和內(nèi)核被并行執(zhí)行時(shí),PyTorch 通過(guò) CUDA 的流和事件機(jī)制來(lái)管理并發(fā)和同步,本文就來(lái)介紹一下pytorch 同步機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09
Python中數(shù)據(jù)清洗與預(yù)處理技巧分享
我們不論在學(xué)習(xí)機(jī)器學(xué)習(xí)還是數(shù)據(jù)分析中,都會(huì)涉及很多數(shù)據(jù),為了確保結(jié)果的準(zhǔn)確性,我們需要首先進(jìn)行數(shù)據(jù)清洗和預(yù)處理,下面我們就來(lái)看看如何使用Python進(jìn)行數(shù)據(jù)清洗與預(yù)處理吧2025-07-07
Python中pyenv安裝及使用的實(shí)現(xiàn)步驟
pyenv是一個(gè)高效的Python版本管理工具,支持多版本共存和靈活切換,下面就來(lái)介紹一下Python中pyenv安裝及使用的實(shí)現(xiàn)步驟,感興趣的可以了解一下2025-07-07
Django利用elasticsearch(搜索引擎)實(shí)現(xiàn)搜索功能
這篇文章主要介紹了Django利用elasticsearch(搜索引擎)實(shí)現(xiàn)搜索功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
使用python開(kāi)發(fā)一個(gè)可調(diào)用工具的AI智能體
在人工智能時(shí)代,AI Agent憑借其強(qiáng)大的任務(wù)處理能力,逐漸成為開(kāi)發(fā)人員手中的得力工具,下面我們就來(lái)看看如何使用Python打造一個(gè)能夠調(diào)用工具的AI Agent,實(shí)現(xiàn)根據(jù)電腦信息對(duì)電腦配置進(jìn)行專業(yè)評(píng)價(jià)的功能吧2025-07-07
python實(shí)現(xiàn)遞歸查找某個(gè)路徑下所有文件中的中文字符
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)遞歸查找某個(gè)路徑下所有文件中的中文字符,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Python編寫(xiě)memcached啟動(dòng)腳本代碼實(shí)例
這篇文章主要介紹了Python編寫(xiě)memcached啟動(dòng)腳本代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

