У меня есть динамически обновляемая CheckboxGroup, контейнер которой изменяет размеры, пока я не помещаю виджет в более сложные настройки строк или столбцов. Как только макет становится более сложным, виджеты перекрываются при динамическом добавлении записей в CheckboxGroup (размер остается на исходной высоте). Вот некоторый код для тестирования:
import sys, os
from collections import OrderedDict
from bokeh.io import curdoc
from bokeh.layouts import row, column
from bokeh.models.widgets import CheckboxGroup, Div, Button
def guiBuildLayout(guiElements):
layout = column(guiElements.values())
return layout
def update_checkbox():
checkbox.labels += checkbox.labels
guiElements = OrderedDict()
divHTML = '<p>TEST.</p>'
guiElements.update({'test': row(Div(text=divHTML, height=30))})
checkbox = CheckboxGroup(labels=['aa','bb','cc','dd','ee','ff'])
guiElements.update({'chbx': row(children=[checkbox])})
button = Button(label='Grow!')
button.on_click(update_checkbox)
guiElements.update({'but': button})
divHTML2 = '<p>TEST2.</p>'
guiElements.update({'test2': row(Div(text=divHTML2, height=30))})
mainLayout = guiBuildLayout(guiElements)
curdoc().add_root(mainLayout)
curdoc().title = "Check Checkboxgroup"
Если группа флажков не помещена в строку в первую очередь (до добавления в столбец виджетов), изменение размера работает просто отлично.
Вы знаете какой-нибудь способ избежать этого?