如何在Bokeh中的列中找到所选的ChekboxButton?使用复选框的日历

时间:2016-11-14 14:13:34

标签: bokeh

我正在尝试使用列中的CheckButton组创建日历。问题是我无法确定选择了哪个按钮。

group1 = CheckboxButtonGroup(
        labels=["05", "06","07", "08","09"], height=10)
group2 = CheckboxButtonGroup(
        labels=["12", "13","14", "15","16"] , height=10)
group3 = CheckboxButtonGroup(
        labels=["19", "20","21", "23","24"] , height=10)

calendar = column(group1, group2, group3)

我想要一个函数如下:

def returnDaySelected(calendar):
    return SelectedDay

我知道我有三个小组,我必须制作一些ifs来获得我想要的小组。但仍然。我无法在列中找到这些组。

我尝试打印dir(calendar)dir(calendar.children[0])以查看列中的内容。但我找不到一个能让我回到群组的属性,更不用说选中的按钮了。

有关如何退回所选按钮的任何想法? (或所有选定的按钮)

1 个答案:

答案 0 :(得分:2)

尝试calendar.children[0].children[0].active返回按下的按钮列表,例如,如果按下第2和第3个按钮,它将返回[1,2](从0开始计数)。

column.children[0]只返回WidgetBox。访问其子女需要另一个电话。

def returnDaysSelected(calendar):
    selectedDays = []
        for iGroup in calendar.children[0].children:
        active = iGroup.active
        for iDay in active:
            selectedDays.append(iGroup.labels[iDay])
    return selectedDays