【发布时间】:2015-08-10 11:05:12
【问题描述】:
我有一个 IPython 笔记本,它有 两个宽度(carW 和 speedW)和 两个函数(print_car 和 print_car_and_speed),它们依赖于小部件的值。我想要实现的是print_car 的输出在carW 的值发生变化时发生变化,并且print_car_and_speed 的输出在carW 或speedW 的值发生变化时发生变化。
这是我正在使用的代码:
from IPython.html import widgets
from IPython.display import display
def print_car(car):
print "Selected car: {}".format(car)
def print_car_and_speed(car, speed):
print "Driving {} with speed: {}".format(car, speed)
carW = widgets.Dropdown(options=['Prius', 'Porsche'])
carW.value = 'Prius'
i = widgets.interactive(print_car, car=carW)
display(i)
speedW = widgets.FloatSlider()
j = widgets.interactive(print_car_and_speed, car=carW, speed=speedW)
display(j)
这段代码的问题是 输出 print_car 没有为我显示。但是,如果我注释最后两行,print_car 的输出将按照我的预期显示。
理想情况下,我希望输出遵循以下格式:
-
carW小部件 -
print_car的输出 -
speedW小部件(不要重复carW小部件) -
print_car_and_speed的输出
如果您能给我指点如何实现这一点,那就太好了。谢谢!
【问题讨论】:
标签: python widget ipython ipython-notebook