如何使用ipywidgets创建一个太小按钮以显示和清除输出?

时间:2019-06-20 15:26:06

标签: python jupyter-notebook ipywidgets

我想创建一个切换按钮以显示一些输出,并在使用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)

1 个答案:

答案 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)