Gradio中button組件的基本使用方式
Gradio中button組件的基本使用
Gradio中的button組件是用于在頁面中放置按鈕的組件,是最常用的組件之一。
其常用于一些點擊事件的實現(xiàn),具體需要通過其組件的click事件實現(xiàn),但是在使用時又與寫傳統(tǒng)前端代碼時的click實現(xiàn)不太一樣。
簡單來說
前端代碼中點擊按鈕要實現(xiàn)的東西(包含其他組件值的變化)基本都寫在點擊觸發(fā)的函數(shù)中,但是gradio中button組件的click事件中的函數(shù)只做值的處理,改變其他組件的值或屬性(呈現(xiàn)結果)是通過函數(shù)的輸出來控制
gradio.Button.click(fn, inputs, outputs)
- 使用click事件時最常用的就是這三個參數(shù),fn是點擊時觸發(fā)的函數(shù),只要填函數(shù)本身;
- inputs是函數(shù)的輸入參數(shù),需要注意的是實際填的并不是int、str這樣的基本類型,而是gradio組件本身,比如
gradio.Textbox
,但并不是說會將gradio組件直接傳給fn,而是將組件的值(value屬性)傳給fn,所以fn接的還是基本類型; - outputs是函數(shù)的輸出參數(shù),和inputs一樣,也是gradio組件,如果最終的目的是想改變outputs中組件的值的話,fn回傳基本類型即可,如果是需要改變組件的其他屬性(例如visible、interactive),那就需要回傳
gr.update()
來實現(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()
以上代碼就可以實現(xiàn)點擊Run
按鈕時將左側文本框的輸入拼接上"Welcome to Gradio",并顯示在右側文本框中,同時將Run
按鈕置灰,顯示出clear
按鈕,在clear
按鈕點擊后將左右文本框清空并讓Run
按鈕回復、clear
按鈕消失。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python 3.5實現(xiàn)檢測路由器流量并寫入txt的方法實例
這篇文章主要給大家介紹了關于利用python 3.5實現(xiàn)檢測路由器流量并寫入txt的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧。2017-12-12解決Python print 輸出文本顯示 gbk 編碼錯誤問題
這篇文章主要介紹了解決Python print 輸出文本顯示 gbk 編碼錯誤問題,本文給出了三種解決方法,需要的朋友可以參考下2018-07-07python 中Arduino串口傳輸數(shù)據到電腦并保存至excel表格
這篇文章主要介紹了python Arduino串口傳輸數(shù)據到電腦并保存至excel表格,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10YOLOv5車牌識別實戰(zhàn)教程(一)引言與準備工作
這篇文章主要介紹了YOLOv5車牌識別實戰(zhàn)教程(一)引言與準備工作,在這個教程中,我們將一步步教你如何使用YOLOv5進行車牌識別,幫助你快速掌握YOLOv5車牌識別技能,需要的朋友可以參考下2023-04-04python的簡單web框架flask快速實現(xiàn)詳解
這篇文章主要為大家介紹了python的簡單web框架flask快速實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02