如何在Python3中使用IPyWidget链接两个按钮的相反值?
如何将两个按钮的值链接为彼此相反?jslink()函数似乎只将值链接为相同,而不是相反。我知道我可以使用widgets.ToggleButtons()链接两个按钮,但我希望成功按钮为绿色,失败按钮为红色。ToggleButtons()似乎不允许每个按钮使用不同的颜色。如果是这样的话,我也愿意接受这个解决方案。以下是我到目前为止的代码(仅供参考:我正在JupyterLab中使用ipywidgets和node.js运行此代码): 输出:如何在Python3中使用IPyWidget链接两个按钮的相反值?,python,python-3.x,ipywidgets,Python,Python 3.x,Ipywidgets,如何将两个按钮的值链接为彼此相反?jslink()函数似乎只将值链接为相同,而不是相反。我知道我可以使用widgets.ToggleButtons()链接两个按钮,但我希望成功按钮为绿色,失败按钮为红色。ToggleButtons()似乎不允许每个按钮使用不同的颜色。如果是这样的话,我也愿意接受这个解决方案。以下是我到目前为止的代码(仅供参考:我正在JupyterLab中使用ipywidgets和node.js运行此代码): 输出: 猜测是否要链接已禁用的属性。 您可以使用后端中的添加逻辑到链接
猜测是否要链接已禁用的
属性。
您可以使用后端中的添加逻辑到链接:
def toggle_button_n(value):
button_n.disabled = not value.new
def toggle_button_y(value):
button_y.disabled = not value.new
button_n.observe(toggle_button_y, names=['disabled'])
button_y.observe(toggle_button_n, names=['disabled'])
您还需要更改初始化,以便只启用其中一个按钮
def toggle_button_n(value):
button_n.disabled = not value.new
def toggle_button_y(value):
button_y.disabled = not value.new
button_n.observe(toggle_button_y, names=['disabled'])
button_y.observe(toggle_button_n, names=['disabled'])