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這樣的基本類(lèi)型,而是gradio組件本身,比如
gradio.Textbox
,但并不是說(shuō)會(huì)將gradio組件直接傳給fn,而是將組件的值(value屬性)傳給fn,所以fn接的還是基本類(lèi)型; - outputs是函數(shù)的輸出參數(shù),和inputs一樣,也是gradio組件,如果最終的目的是想改變outputs中組件的值的話(huà),fn回傳基本類(lèi)型即可,如果是需要改變組件的其他屬性(例如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 將字符串轉(zhuǎn)換為列表的7種方法匯總
這篇文章主要介紹了Python 將字符串轉(zhuǎn)換為列表的7種方法匯總,在本文中,我們將嘗試將給定的字符串轉(zhuǎn)換為列表,其中根據(jù)用戶(hù)的選擇,遇到空格或任何其他特殊字符,為此,我們?cè)趕tring中使用split()方法,需要的朋友可以參考下2023-11-11python 3.5實(shí)現(xiàn)檢測(cè)路由器流量并寫(xiě)入txt的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于利用python 3.5實(shí)現(xiàn)檢測(cè)路由器流量并寫(xiě)入txt的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧。2017-12-12解決Python print 輸出文本顯示 gbk 編碼錯(cuò)誤問(wèn)題
這篇文章主要介紹了解決Python print 輸出文本顯示 gbk 編碼錯(cuò)誤問(wèn)題,本文給出了三種解決方法,需要的朋友可以參考下2018-07-07python 中Arduino串口傳輸數(shù)據(jù)到電腦并保存至excel表格
這篇文章主要介紹了python Arduino串口傳輸數(shù)據(jù)到電腦并保存至excel表格,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10簡(jiǎn)單了解django處理跨域請(qǐng)求最佳解決方案
這篇文章主要介紹了簡(jiǎn)單了解django處理跨域請(qǐng)求最佳解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03YOLOv5車(chē)牌識(shí)別實(shí)戰(zhàn)教程(一)引言與準(zhǔn)備工作
這篇文章主要介紹了YOLOv5車(chē)牌識(shí)別實(shí)戰(zhàn)教程(一)引言與準(zhǔn)備工作,在這個(gè)教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車(chē)牌識(shí)別,幫助你快速掌握YOLOv5車(chē)牌識(shí)別技能,需要的朋友可以參考下2023-04-04python的簡(jiǎn)單web框架flask快速實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了python的簡(jiǎn)單web框架flask快速實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Python?OpenCV實(shí)現(xiàn)圖像增強(qiáng)操作詳解
由于很多不確定因素,導(dǎo)致圖像采集的光環(huán)境極其復(fù)雜;為了提高目標(biāo)檢測(cè)模型的泛化能力,本文將使用python中的opencv模塊實(shí)現(xiàn)常見(jiàn)的圖像增強(qiáng)方法,感興趣的可以了解一下2022-10-10Python爬蟲(chóng)包BeautifulSoup實(shí)例(三)
這篇文章主要為大家詳細(xì)介紹了Python爬蟲(chóng)包BeautifulSoup實(shí)例,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2018-06-06