本质上,我正在使用 ipywidgets 创建许多切换按钮。单击按钮时,我想将一个元素添加到列表中。如果未单击该按钮,则该元素将被删除。(我还没有开始行动)
对于切换按钮,我正在使用.observe()
并发现每次按下按钮时,都会返回 3 个信号。{False, True, True}
如果单击,如果{True, False, False}
未单击。我认为.observe()
每次单击按钮时都会运行 3 次。有什么方法可以只返回一个信号还是我的代码有错误?
import ipywidgets as widgets
import numpy as np
test = np.array(['test1','test2'])
def buttonArray(button_list):
switch = [widgets.ToggleButton(description = name, value = False) for name in button_list]
combined = widgets.HBox(switch)
display(combined)
def upon_clicked(btn):
signal = btn.owner.value
print(signal)
for n in range(len(button_list)):
switch[n].observe(upon_clicked)
buttonArray(test)
按下按钮时,请参阅图像以获取输出: