You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ipywidgets中基于组件选择实现条件逻辑?

实现ipywidgets的条件逻辑

首先确保你已导入ipywidgets模块,通过回调函数+监听组件变化就能实现需求,调整后的完整代码如下:

import ipywidgets as widgets
from IPython.display import display

# 第一个选择组件
friends = widgets.ToggleButtons(options=["Yes.", "Just me!"])

# 第二个数值输入组件,初始设为禁用状态
who = widgets.BoundedIntText(
    value=0,
    min=0,
    max=10,
    step=1,
    description='How many?:',
    disabled=True
)

# 定义回调函数:根据选择切换第二个组件的启用状态
def handle_selection(change):
    if change['new'] == "Just me!":
        who.disabled = False  # 启用第二个组件
    else:
        who.disabled = True   # 禁用第二个组件,可在此添加"Yes."对应的后续流程代码

# 给第一个组件绑定监听,当选项变化时触发回调
friends.observe(handle_selection, names='value')

# 显示所有组件
display(friends, who)

关键说明:

  • observe方法用于监听组件的属性变化(这里监听value属性),用户切换选项时会自动触发回调函数。
  • 回调函数通过change['new']获取最新选择值,修改第二个组件的disabled属性来控制其是否可用。
  • 若选“Yes.”时需要执行其他流程,直接在else分支里添加对应的代码即可。

内容的提问来源于stack exchange,提问作者coding101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 11:50:32