首页 > 解决方案 > 如何在 python jupyter notebook 中创建一个带有输出的简单按钮?

问题描述

尝试使用一些输出创建一个简单的按钮,我尝试了以下代码

from IPython.display import display
def clicked():
    print("button has been clicked!")

button_download = widgets.Button(description = 'Test Button')   
button_download.on_click(clicked)
display(button_download)

但是当我单击按钮时,我看不到任何输出。

我找到了另一个有效的例子,但这太复杂了:

from IPython.display import display
button = widgets.Button(description="Click Me!")
output = widgets.Output()

display(button, output)

def on_button_clicked(b):
    with output:
        print("Button clicked.")

button.on_click(on_button_clicked)

我真的需output要这样做,以便在单击按钮时可以看到print语句的输出吗?

该系统是 Jupyterlab 1.1.4。

标签: pythonjupyter-notebook

解决方案


您只需要向clicked函数添加一个参数即可使其工作:

from IPython.display import display
import ipywidgets as widgets


def clicked(arg):
    print("button has been clicked!")

button_download = widgets.Button(description = 'Test Button')   
button_download.on_click(clicked)
display(button_download)

推荐阅读