我想在重新运行小部件时清除以前的输出。
例如
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/