我在脚本中创建了许多按钮。 我需要通过这些按钮来调用函数。 但是该功能仅在最后一个按钮中有效。 怎么了?
import ipywidgets as widgets
from IPython.core.display import display, HTML
def fn(b):
print(b.description+" clicked.")
for i in range(10):
btn= widgets.Button(
description='Button '+str(i),
disabled=False,
button_style='info', # 'success', 'info', 'warning', 'danger' or ''
tooltip='Delete')
display(btn)
btn.on_click(fn)
答案 0 :(得分:0)
btn.on_click(fn)
在循环之外,因此btn
引用了循环中的最后一个按钮实例
以这种方式编码将解决问题
for i in range(10):
#loop previous body
btn.on_click(fn)