使用 ipywidgets 中的下拉小部件

Using drop down widget from ipywidgets

我正在尝试使用下拉菜单并将所选值存储到局部变量。尽管 print 语句有效,但它并未将值存储到变量中。我们将不胜感激任何帮助。

import ipywidgets as widgets

bor = 'A'
drop_down = widgets.Dropdown(options=['A','B','C','D'],
                                description='Choose',
                                disabled=False)

def dropdown_handler(change):
        print(change.new)
        bor = change.new  # This line isn't working
drop_down.observe(dropdown_handler, names='value')
display(drop_down)

Relevant photo

您的函数 工作,但它在函数的本地命名空间中分配 bor,然后在函数完成时丢失。

您需要在 dropdown_handler 函数中声明 global bor。然后你应该可以在全局命名空间中调用 bor 并通过下拉列表获取结果集。

import ipywidgets as widgets

bor = 'A'
drop_down = widgets.Dropdown(options=['A','B','C','D'],
                                description='Choose',
                                disabled=False)

def dropdown_handler(change):
    global bor
    print(change.new)
    bor = change.new  # This line isn't working
drop_down.observe(dropdown_handler, names='value')
display(drop_down)