我正在尝试使用列中的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])
以查看列中的内容。但我找不到一个能让我回到群组的属性,更不用说选中的按钮了。
有关如何退回所选按钮的任何想法? (或所有选定的按钮)
答案 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