Python/ipywidgets 链接不同功能中的多个小部件的功能

Python/ipywidgets functions that links multiple widgets in different functions

我正在寻找一个简单的函数,它可以 link 动态地执行下面的 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]))