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

如何设置ipywidgets Combobox的observe回调仅按回车键后触发

要实现仅在按下回车键后才触发回调,你不需要使用observe监听value属性,直接使用ipywidgets Combobox组件自带的on_submit方法绑定回调即可,observe监听value会在每次输入字符、内容更新时触发,不符合你的需求。

完整实现代码

import ipywidgets as widgets

# 定义Combobox组件
example_widget = widgets.Combobox(
    options = ['A','A1','A10','A101'], 
    ensure_option = True, 
    description ='Example'
)

# 定义回调函数
def foo(widget):
    print('call back got triggered')
    # 可以通过widget.value获取当前输入框的最终内容
    print(f'输入内容为:{widget.value}')

# 绑定回车提交事件,替代原来的observe绑定逻辑
example_widget.on_submit(foo)

# 渲染组件
example_widget

低版本ipywidgets兼容方案

如果你使用的ipywidgets版本过低不支持on_submit,也可以通过监听键盘事件实现:

def handle_keydown(event):
    # 判断按下的键是否为回车键
    if event['key'] == 'Enter':
        print('call back got triggered')
        print(f'输入内容为:{example_widget.value}')

example_widget._dom_events.add('keydown', handle_keydown)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:57:04