我有一个动态更新的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"
如果未将复选框组排在首位(在添加到小部件列之前),则重新调整大小就可以了。 您知道有什么方法可以避免这种情况吗?