Обратный вызов Bokeh Python на панели / вкладке выбора - PullRequest
0 голосов
/ 06 мая 2019

С модулем bokeh в python я хочу добавить обратный вызов сервера, когда кто-то выбирает другую панель. Примерно так (к сожалению, это не работает):

from bokeh.layouts import widgetbox
from bokeh.models.widgets import Div, Tabs, Panel
from bokeh.plotting import curdoc

label1 = Div(text='Tab 1')
label2 = Div(text='Tab 2')
panel1 = Panel(child=widgetbox(label1), title='Tab 1')
panel2 = Panel(child=widgetbox(label2), title='Tab 2')
tabs = Tabs(tabs=[panel1, panel2])

def panelActive():
    print("the active panel is "+str(tabs.active))
tabs.callback=panelActive()

curdoc().add_root(tabs)

Редактировать: Это в боке 0.13.0

1 Ответ

1 голос
/ 06 мая 2019

Вы должны попробовать (Bokeh v1.1.0):

from bokeh.layouts import widgetbox
from bokeh.models import Div, Tabs, Panel
from bokeh.plotting import curdoc

label1 = Div(text = 'Tab 1')
label2 = Div(text = 'Tab 2')
panel1 = Panel(child = widgetbox(label1), title = 'Tab 1')
panel2 = Panel(child = widgetbox(label2), title = 'Tab 2')
tabs = Tabs(tabs = [panel1, panel2])

def panelActive(attr, old, new):
    print("the active panel is " + str(tabs.active))

tabs.on_change('active', panelActive)

curdoc().add_root(tabs)
...