使用 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)
我正在尝试使用下拉菜单并将所选值存储到局部变量。尽管 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)