我想在散景中动态添加滤镜,即每次按下按钮时,都会附加一个新的滤镜。然而,添加新的小部件后,布局会被破坏:新的小部件会覆盖旧的小部件,而不是重新计算布局。代码示例
from bokeh.layouts import row, column
from bokeh.models.widgets import Button, Select
from bokeh.io import curdoc
def add_select():
feature = Select(value='feat', options=["a"])
dynamic_col.children.append(feature)
b1 = Button(label="Add condition", button_type="success")
b1.on_click(add_select)
b2 = Button(label="Apply", button_type="success")
dynamic_col = column()
curdoc().add_root(column(b1, dynamic_col, b2))
单击“添加”按钮之前的布局
添加选择小部件后的布局
为什么不使用单个列表来处理所有小部件?
from bokeh.layouts import column
from bokeh.models.widgets import Button, Select
from bokeh.io import curdoc
def add_select():
feature = Select(value='feat', options=["a"])
dynamic_col.children.insert(-1, feature)
b1 = Button(label="Add condition", button_type="success")
b1.on_click(add_select)
b2 = Button(label="Apply", button_type="success")
dynamic_col = column(b1, b2)
curdoc().add_root(dynamic_col)
我“插入”而不是“附加”小部件以使第二个按钮位于列表末尾
我得到这个结果:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)