Python ipywidgets.VBox不显示函数的一部分
我尝试使用ipywidgets创建一个交互式仪表板。(ipywidgets版本7.5.0,python版本3.7.2) 在一批代码中,Python ipywidgets.VBox不显示函数的一部分,python,ipython,ipywidgets,Python,Ipython,Ipywidgets,我尝试使用ipywidgets创建一个交互式仪表板。(ipywidgets版本7.5.0,python版本3.7.2) 在一批代码中,widgets.VBox()会自动显示。但是,一旦我将语句外包给函数,widgets.VBox()就不会显示,除非我显式地将其包装到display()语句中。下面是一段简单的代码。它在顶部显示滑块,在底部显示所选次数5 import ipywidgets as widgets from IPython.display import display def fa(
widgets.VBox()
会自动显示。但是,一旦我将语句外包给函数,widgets.VBox()
就不会显示,除非我显式地将其包装到display()
语句中。下面是一段简单的代码。它在顶部显示滑块,在底部显示所选次数5
import ipywidgets as widgets
from IPython.display import display
def fa(a,b):
display(a*b)
a = widgets.IntSlider(10)
out = widgets.interactive_output(fa,{'a':a,'b':widgets.fixed(5)})
widgets.VBox([a,out])
将VBox放入输出函数后,将不会显示任何内容,甚至不会显示错误消息:
def fa(a,b):
display(a*b)
def db(a,b):
widgets.VBox([a,b])
a = widgets.IntSlider(10)
out = widgets.interactive_output(fa,{'a':a,'b':widgets.fixed(5)})
db(a,out)
但是,一旦我将db()函数中的widgets.VBox([a,b])
替换为display(widgets.VBox([a,b]))
一切都恢复正常
抱歉,这可能是一个基本问题,但这种行为背后的系统是什么?如果您在笔记本电脑中工作,默认行为是将任何单元格的最后一行打印/显示到下面的输出空间。因此,您的第一个代码片段最后一行的
widgets.VBox([a,out])
实际上是伪装的display(widgets.VBox([a,out])
。谢谢,这就解释了这一点。很高兴知道。