繁体   English   中英

如何将组合框中的选定项目添加到Jupyter小部件中的表中?

[英]How do I add selected items from combo box to a table in Jupyter widgets?

我一直在尝试按添加按钮时使用组合框上的选定项目将项目添加到表中。 同样,我现在的操作方式也给出了错误的结果,那就是上下颠倒。

我尝试了多种方法,但均无济于事。 我可以将所选项目从组合框链接到表格,每当我按下“添加”按钮时,它都链接但不添加。

from ipywidgets import Layout, interact, interact_manual, fixed
import ipywidgets as widgets
from IPython.display import display
import matplotlib.pyplot as plt
import numpy as np
Arr=['Weight','Power', '10s-Peak Power','Volume']

Combo=widgets.Dropdown(options=[Arr[0],Arr[1],Arr[2],Arr[3]],description='Requirement')

Table2=widgets.SelectMultiple(index=(0,), options = [''], rows=10,description='Desired Requirements',
    disabled=False,layout=Layout(width ='450px'))

button = widgets.Button(description="Add",icon='check')

output = widgets.Output()

def on_button_clicked(b):
    with output:
        d=widgets.link((Combo,'value'),(Table2,'options'))
        d.unlink()

button.on_click(on_button_clicked)

display(button,Combo,Table2)

我希望在按下“添加”按钮时在组合框中填充上下文。 这样做,应该从组合框列表中删除组合框的特定项目,并将其添加到表中。

我认为您的on_button_clicked函数需要这样的东西:

def on_button_clicked(b):
    new_option = Combo.value
    Table2.options = (*Table2.options, new_option)
    Combo.options = (o for o in Combo.options if o!=new_option)

基本上,这会编辑Table2选项以包括Combo当前选择的内容,并编辑Combo选项以排除它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM