Я должен создать коллекцию кнопок динамически на основе списков слов. Я создаю их с классом. Затем я должен динамически увидеть, сколько из них нажал пользователь, и действовать соответствующим образом (получить коллекцию нажатых кнопок на столбец).
Моя проблема заключается в том, как обращаться с обработчиками событий. Я не могу придумать, как коллективно справляться со всеми созданными кнопками. Мне в основном нужен слушатель, который каждый раз, когда происходит изменение, смотрит, сколько кнопок нажимается, и, конечно, нажимаю и отжимаю соответствующие кнопки.
Это мой код:
class verticalButtons():
def __init__(self,concepts):
self.verticalbuttons = self.create_buttons(concepts)
def create_buttons(self,concepts):
import ipywidgets
wd_buttons = []
for i,concept in enumerate(concepts):
newbutton = ipywidgets.Button(description=concept,
button_style='success')
wd_buttons.append(newbutton)
verticalbox = VBox(wd_buttons)
return verticalbox
в основном Передача списка слов в класс создает VBox с кнопками.
mylist1 = ['1first','1second','1third']
mylist2 = ['2first','2second','2third','2fourth']
one = verticalButtons(mylist1)
two = verticalButtons(mylist2)
button_columns = widgets.HBox([one.verticalbuttons,two.verticalbuttons])
display(button_columns)
результат будет следующим:
Какая идея? Мне даже не нужен код, а просто идея, как с ним бороться.
спасибо.