Jupyter 笔记本按钮小部件:删除所有点击处理程序?

fmg*_*fmg 5 widget callback python-3.x jupyter jupyter-notebook

看来(如果我错了,请纠正我),当我调用 时button.on_click(callback),该对象button是 的实例ipywidgets.Button,该函数callback被添加到单击处理程序列表中。我如何访问此列表?

我实际上想清除这个列表。如果我能找到回调列表(我找不到!),我就可以申请button.on_click(callback, remove=True)所有已注册的回调。

有没有比上面更好/更惯用的方法来从按钮小部件中删除所有单击处理程序?我的处理程序是以编程方式生成的,如果我想稍后删除它们,我不想存储对所有处理程序的引用......

小智 7

尽管没有为此定义方法,但我搜索了他们的代码并找到了他们注册回调的位置。以下是删除所有点击处理程序的方法 -

button._click_handlers.callbacks = []
Run Code Online (Sandbox Code Playgroud)