python - 每次运行时清除小部件以前的输出

标签 python jupyter ipywidgets

我想在重新运行小部件时清除以前的输出。

例如

from IPython.display import display, clear_output

import ipywidgets as widgets
from datetime import datetime, timedelta
button = widgets.Button(description='RUN',button_style='info')

def on_button_clicked(b):

    # DO SOMETHING #

    out = widgets.Output()
    out.clear_output(wait=True)
    out.append_stdout(f'Ran at {datetime.now()}')
    display(out)

button.on_click(on_button_clicked)
widgets.VBox([button])

每次我单击RUN按钮时,它都会“附加”打印语句

我也尝试过这个:

button = widgets.Button(description='RUN',button_style='info')

def on_button_clicked(b):

    # DO SOMETHING #

    out = widgets.Output()
    out.clear_output(wait=True)
    with out:
        print(f'Ran at {datetime.now()}')
    display(out)

button.on_click(on_button_clicked)
widgets.VBox([button])

最佳答案

这有效


from IPython.display import display, clear_output

import ipywidgets as widgets
from datetime import datetime, timedelta


button = widgets.Button(description='RUN',button_style='info')

out = widgets.Output() 

@out.capture(clear_output=True)
def on_button_clicked(b):
    # DO SOMETHING #
    print ( f'Ran at {datetime.now()}')


button.on_click(on_button_clicked)
widgets.VBox([button])

关于python - 每次运行时清除小部件以前的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62081396/

相关文章:

python - 使用 if else 在 Jupyter 中创建海运图时出错

windows - 无法从命令提示符打开 Jupyter 笔记本

ipython - 抑制交互()小部件的输出

python - 如何重置从 ipywidget 命令按钮生成的输出,以便仅显示更新的 DataFrame?

python - 使用 PuLP 的 MILP 近似解

Python unittest 没有运行指定的测试

python - 如何让 web2py 开发服务器跟踪文件更改并自动重启?

python - 使用管理员身份注册自定义用户模型

python - 避免在执行 df ['column' ] = df ['column' ] 时写两次 df ['column' ]

Python ipywidgets : create a savefig button