是否可以 link IPython 小部件不那么天真?
Is it possible to link IPython widgets less naively?
我将从一个简单的示例开始:
比如说,我有两个 IntSlider 小部件。我想让一个代表 x,另一个代表 x^2(单向 link)。如果我要玩第二个滑块(双向 link),也许我什至希望第一个滑块显示 sqrt(x^2)。
这会非常天真地翻译成这样:
l1 = traitlets.link((widg1, 'value'),(widg2, 5* 'value'))
当然不是,因为第二个元组参数应该是一个字符串,所以我确实传递了 'valuevaluevaluevaluevalue'。
无论如何,这可能吗?如果可以,是否已经实施?
link
只传递相同的值。如果要转换值,需要回调:
def widg1_changed(name, new_value):
widg2.value = 5 * new_value
widg1.on_trait_change(widg1_changed, 'value')
目前不知道有什么双向的好办法
我将从一个简单的示例开始:
比如说,我有两个 IntSlider 小部件。我想让一个代表 x,另一个代表 x^2(单向 link)。如果我要玩第二个滑块(双向 link),也许我什至希望第一个滑块显示 sqrt(x^2)。
这会非常天真地翻译成这样:
l1 = traitlets.link((widg1, 'value'),(widg2, 5* 'value'))
当然不是,因为第二个元组参数应该是一个字符串,所以我确实传递了 'valuevaluevaluevaluevalue'。
无论如何,这可能吗?如果可以,是否已经实施?
link
只传递相同的值。如果要转换值,需要回调:
def widg1_changed(name, new_value):
widg2.value = 5 * new_value
widg1.on_trait_change(widg1_changed, 'value')
目前不知道有什么双向的好办法