第二周、1.button组件

Button是按钮组件,其类型包括胶囊按钮、圆形按钮、文本按钮、弧形按钮、下载按钮。

<div class="div-button">
    <text class="title">普通按钮</text>
    <div class="circleall">
        <button class="buttons">确认按钮</button>
    </div>
    <text class="title">胶囊按钮</text>
    <div class="circleall">
        <button class="buttons" type="capsule">确认按钮</button>
    </div>
    <text class="title">圆形按钮</text>
    <div class="circlealls">
        <button class="circle" type="circle" >icon按钮</button>
    </div>
    <text class="title">文本按钮</text>
    <div class="circleall">
        <button class="text" type="text">文本按钮1</button>
        <button class="text text1" type="text">文本按钮2</button>
        <button class="text text2" type="text">文本按钮3</button>
    </div>
    <text class="title">长胶囊按钮</text>
    <div class="al">
        <button class="download" type="download">下载按钮</button>
    </div>
</div>

 属性:

除支持通用属性外,还支持如下属性:

名称

类型

默认值

必填

描述

type

string

-

不支持动态修改。如果该属性缺省,展示类胶囊型按钮,不同于胶囊类型,四边圆角可以通过border-radius分别指定,如果需要设置该属性,则可选值包括如下:

  • capsule:胶囊型按钮,带圆角按钮,有背景色和文本;
  • circle:圆形按钮,支持放置图标;
  • text:文本按钮,仅包含文本显示;
  • arc:弧形按钮,仅支持智能穿戴;
  • download:下载按钮,额外增加下载进度条功能,仅支持手机和智慧屏。

value

string

-

button的文本值。

icon

string

-

button的图标路径,图标格式为jpg,png和svg。

placement5+

string

end

仅在type属性为缺省时生效,设置图标位于文本的位置,可选值为:

  • start:图标位于文本起始处;
  • end:图标位于文本结束处;
  • top:图标位于文本上方;
  • bottom:图标位于文本下方。

waiting

boolean

false

waiting状态,waiting为true时展现等待中转圈效果,位于文本左侧。类型为download时不生效,不支持智能穿戴。

 样式:

除支持通用样式外,还支持如下样式:

名称

类型

默认值

必填

描述

text-color

<color>

手机:#ff007dff

智慧屏:#e5ffffff

智能穿戴:#ff45a5ff

按钮的文本颜色。

font-size

<length>

手机:16px

智慧屏:18px

智能穿戴:16px

按钮的文本尺寸。

allow-scale

boolean

true

按钮的文本尺寸是否跟随系统设置字体缩放尺寸进行放大缩小。

说明

如果在config描述文件中针对ability配置了fontSize的config-changes标签,则应用不会重启而直接生效。

font-style

string

normal

按钮的字体样式。

font-weight

number | string

normal

按钮的字体粗细。见text组件font-weight的样式属性

font-family

<string>

sans-serif

按钮的字体列表,用逗号分隔,每个字体用字体名或者字体族名设置。列表中第一个系统中存在的或者通过自定义字体指定的字体,会被选中作为文本的字体。

icon-width

<length>

-

设置圆形按钮内部图标的宽,默认填满整个圆形按钮。

说明

icon使用svg图源时必须设置该样式。

icon-height

<length>

-

设置圆形按钮内部图标的高,默认填满整个圆形按钮。

说明

icon使用svg图源时必须设置该样式。

radius

<length>

-

按钮圆角半径。在圆形按钮类型下该样式优先于通用样式的width和height样式。

  • 胶囊按钮(type=capsule)时,不支持border相关样式;
  • 圆形按钮(type=circle)时,不支持文本相关样式;
  • 文本按钮(type=text)时,自适应文本大小,不支持尺寸设置(radius,width,height),背景透明不支持background-color样式。

 type设置为arc

除支持通用样式中background-color、opacity、display、visibility、position、[left|top|right|bottom外,还支持如下样式:

名称

类型

默认值

必填

描述

text-color

<color>

#de0000

弧形按钮的文本颜色。

font-size

<length>

37.5px

弧形按钮的文本尺寸。

allow-scale

boolean

true

弧形按钮的文本尺寸是否跟随系统设置字体缩放尺寸进行放大缩小。

font-style

string

normal

弧形按钮的字体样式。

font-weight

number | string

normal

弧形按钮的字体粗细。见text组件font-weight的样式属性

font-family

<string>

sans-serif

按钮的字体列表,用逗号分隔,每个字体用字体名或者字体族名设置。列表中第一个系统中存在的或者通过自定义字体指定的字体,会被选中作为文本的字体。

### 关于 Gradio 中 Button 和 Tabs 的交互与关联 在 Gradio 中,`gr.Button` 和 `gr.Tabs` 可以通过事件处理机制来实现交互和关联。Gradio 提供了一种简单的方式来定义组件之间的行为逻辑,这使得开发者可以轻松地将按钮点击事件绑定到标签页的切换或其他操作上。 #### 使用 gr.Button 控制 gr.Tabs 切换 可以通过设置 `gr.Button.click()` 方法中的回调函数来控制 `gr.Tabs` 组件的行为。例如,在按钮被点击时触发特定 Tab 的显示或隐藏。以下是具体的实现方式: 1. **创建 Tabs 和 Buttons**: 首先初始化 `gr.Tabs` 并为其添加多个子选项卡 (`TabItem`);接着创建一个或多个按钮用于触发不同的动作。 2. **定义 Callbacks**: 定义一个 Python 函数作为回调,该函数接受输入参数(如果有的话),并通过更新目标组件的状态来改变界面布局。 3. **连接 Events**: 将上述定义好的回调函数附加至相应按钮上的 `.click()` 事件处理器中。 下面是一个简单的例子展示如何利用这些概念完成基本的功能需求: ```python import gradio as gr def switch_to_tab(tab_index): """Switches the active tab based on index.""" return gr.update(selected=tab_index) with gr.Blocks() as demo: with gr.Tabs() as tabs: with gr.Tab("Tab 1") as tab1: text_input_1 = gr.Textbox(label="Input for Tab 1") with gr.Tab("Tab 2") as tab2: text_input_2 = gr.Textbox(label="Input for Tab 2") btn_switch_to_first = gr.Button(value="Go to First Tab") btn_switch_to_second = gr.Button(value="Go to Second Tab") # Linking buttons to their respective actions. btn_switch_to_first.click(switch_to_tab, inputs=None, outputs=tabs, kwargs={"tab_index":0}) btn_switch_to_second.click(switch_to_tab, inputs=None, outputs=tabs, kwargs={"tab_index":1}) demo.launch() ``` 此脚本展示了两个按钮分别用来激活第一个或者第二个标签页面的效果[^4]。 #### 进一步扩展功能 除了单纯地切换标签之外,还可以结合其他类型的控件进一步增强用户体验。比如当某个条件满足时才允许跳转指定位置等等复杂业务场景下的定制化开发均成为可能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值