我想创建一个切换按钮以显示一些输出,并在使用ipywidget
在jupyter笔记本中切换时清除它。
我试图用widgets.Output()
来做。但是,随着我单击越来越多,这将显示空行。
请帮帮我。
import ipywidgets as w
toggle = w.ToggleButton(description='click me')
out = w.Output()
def fun(obj):
global out
with out:
display('asd')
if obj['new']:
display(out)
else:
out.clear_output()
out = w.Output()
toggle.observe(fun, 'value')
display(toggle)
答案 0 :(得分:1)
我认为global
关键字和display(out)
的组合在这里引起了问题。我在下面做了一些简化:
在代码主体中显示output
小部件,并使用clear_output
命令(输出小部件仍“可见”但高度为零)。
import ipywidgets as w
toggle = w.ToggleButton(description='click me')
out = w.Output(layout=w.Layout(border = '1px solid black'))
def fun(obj):
with out:
if obj['new']:
display('asd')
else:
out.clear_output()
toggle.observe(fun, 'value')
display(toggle)
display(out)