要保存Bokeh小部件的动态值,可以使用回调函数和全局变量来实现。下面是一个示例代码:
from bokeh.plotting import curdoc
from bokeh.models import Slider, Button
from bokeh.layouts import column
# 创建一个全局变量来保存动态值
dynamic_value = 0
# 创建一个滑动条小部件和一个按钮小部件
slider = Slider(start=0, end=10, step=1, value=dynamic_value, title="Slider")
button = Button(label="Save Value")
# 回调函数,将滑动条的值保存到全局变量中
def update_value(attrname, old, new):
global dynamic_value
dynamic_value = slider.value
# 将回调函数与滑动条小部件的值变化事件绑定
slider.on_change('value', update_value)
# 回调函数,打印保存的值
def save_value():
print("Saved value:", dynamic_value)
# 将回调函数与按钮小部件的点击事件绑定
button.on_click(save_value)
# 将滑动条和按钮小部件添加到文档中
curdoc().add_root(column(slider, button))
在这个示例中,我们创建了一个全局变量dynamic_value
来保存滑动条的动态值。然后,我们创建了一个滑动条小部件和一个按钮小部件,并定义了两个回调函数。update_value
函数用于将滑动条的值保存到全局变量中,save_value
函数用于打印保存的值。最后,我们将滑动条和按钮小部件添加到文档中,并运行应用。当滑动条的值发生变化时,update_value
函数会被调用并更新全局变量的值,当按钮被点击时,save_value
函数会被调用并打印保存的值。