Python:Jupyter Notebook创建运行代码的动态核对表用户输入

时间:2017-01-04 17:10:24

标签: python forms list user-interface

我正在使用Python Jupyter Notebook和Python 3.5版

我想创建一个用户输入表单,它是Jupyter笔记本中的清单。请查看图片,了解我希望清单看起来像什么。

如果用户选中了一个框,我想编写例如:

的代码

a)如果选中框,请运行此脚本 b)如果选中这3个框,请运行这3个脚本

非常感谢任何帮助

enter image description here

1 个答案:

答案 0 :(得分:1)

ipywidgets(https://minrk-ipywidgets.readthedocs.io/en/latest/index.html)是您所需要的。 这是您程序的框架。

import ipywidgets as widgets

cb1 = widgets.Checkbox(description="cb1")
cb2 = widgets.Checkbox(despcription="cb2")
cb3 = widgets.Checkbox(description="cb3")
cb4 = widgets.Checkbox(despcription="cb4")

pb = widgets.Button(
    description='Click me',
    disabled=False,
    button_style='', # 'success', 'info', 'warning', 'danger' or ''
    tooltip='Click me',
)

def on_button_clicked(b):
    print("clicked on:",b)
    print("cb1:", cb1.value)
    print("cb2:", cb2.value)
    print("cb3:", cb3.value)
    print("cb4:", cb4.value)

pb.on_click(on_button_clicked)

ui = widgets.VBox([widgets.HBox([cb1, cb2]), widgets.HBox([cb3, cb4]),pb])

display(ui)
# for some reasons I need to reset descriptions
cb1.description="cb1"
cb2.description="cb2"
cb3.description="cb3"
cb4.description="cb4"