基于另一个小部件显示/隐藏Bokeh小部件

时间:2020-02-24 18:54:16

标签: python python-3.x bokeh

我有一个具有两个选项的复选框A,并且我想根据这些选项显示不同的小部件。因此,当单击选项1时,仅显示小部件B,而单击选项2时,仅显示小部件C。我能够使用css_classes = ['hidden']隐藏小部件B和C,但不知道如何使它们有条件地显示。我认为它是这样的:

if 0 in Checkbox_A.active:
  wiget_B.show()
else:
  widget_C.show()

1 个答案:

答案 0 :(得分:0)

在Bokeh中,您可以将整个模型链接在一起或链接信号。假设您使用的是bokeh serve,则可以执行以下操作:

from bokeh.io import curdoc
from bokeh.layouts import column
from bokeh.models import Div, CheckboxGroup

d1 = Div(text="First widget")
d2 = Div(text="Second widget", visible=False)
c = CheckboxGroup(labels=["Display the first widget"], active=[0])


def checkbox_changed(attr, old, new):
    b = (new == [0])
    d1.visible = b
    d2.visible = not b


c.on_change('active', checkbox_changed)

curdoc().add_root(column(c, d1, d2))

但是完全可以在JavaScript方面执行类似的操作。