首页 > 解决方案 > ipywidgets:如何获取数组输入?

问题描述

我需要一个以数组作为输入的小部件,例如一百个滑块(我不想手动创建)。

我怎样才能做到这一点?

我以为答案是widgets.Box,但后来我得到了错误Box(...) cannot be transformed to a widget

标签: pythonmatplotlibipythonipywidgetsmatplotlib-widget

解决方案


明白了 - 诀窍是使用**kwargs. 我的代码看起来像这样。

seed = np.zeros(100)
kwargs = {'seed[{}]'.format(i) : 
          widgets.FloatSlider(
              min = -1.0, 
              max = 1.0, 
              step = 0.01, 
              value = seed[i]) 
          for i in range(100)}

@interact(**kwargs)
def Generate(**kwargs):
  return seed

尽管如此,一个更好的解决方案仍将受到赞赏,因为我不知道如何使用此解决方案更改布局和内容。


推荐阅读