使用 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)

相关照片

您的函数正在运行,但它在函数的本地命名空间中分配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)

最新更新