微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python/ipywidgets 函数,用于链接不同函数中的多个小部件

如何解决Python/ipywidgets 函数,用于链接不同函数中的多个小部件

我正在寻找一个简单的函数,它可以动态链接下面的 2 个函数,这样通过改变 D 或 R 的值,A 就会相应地改变。

from ipywidgets import interact,interactive,fixed,interact_manual
import ipywidgets as widgets

dW = widgets.Dropdown(options=['2','1'])
rW = widgets.FloatText(200)
aW = widgets.FloatText()  

@interact(D=dW,R=rW)
def print_p(D,R):
    dW = D
    rW = R 
    
@interact(A=aW)
def prin_t(A):
    aW.value = int(dW.value) * int(rW.value)

解决方法

我认为 interact 在这里引起了一些混乱,为什么不对 dW 和 rW 使用标准的 observe 调用?

import ipywidgets as widgets

dW = widgets.Dropdown(options=['2','1'])
rW = widgets.FloatText(200)
aW = widgets.FloatText()

def change_a(_):
    aW.value = int(dW.value) * int(rW.value)

dW.observe(change_a)
rW.observe(change_a)

display(widgets.VBox(children=[dW,rW,aW]))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。