首页 > 解决方案 > 使用小部件参数调用修饰的交互函数

问题描述

假设我使用 ipywidgets 创建了一个交互式函数,如下所示:

from ipywidgets import interactive, Select

def print_fruit(fruit):
    print(fruit)

fruitSelect = Select(options=['tomato', 'banana'])

w = interactive(print_fruit, fruit=fruitSelect)
w

现在,我想用另一个函数中当前选择的水果来调用 print_fruit。推荐的方法是什么?(除了重做从小部件中获取所选选项并使用正确参数调用 print_fruit 的相同工作,当有很多时这很乏味......)。

谢谢

标签: pythonipywidgets

解决方案


您可以通过访问.value参数来访问小部件的当前值。

所以在这种情况下,print_fruit(fruitSelect.value)应该这样做。

编辑:对于多个小部件

从 w 中获取Output小部件,但理解中的最后一个(小部件)除外。

print_fruit(*(widg.value for widg in w.children[:-1]))


推荐阅读