首页 > 解决方案 > 为多个 ipywidgets 创建一个观察处理程序

问题描述

我必须根据单词列表动态创建一组按钮。我用一个类创建它们。然后我必须动态查看用户点击了多少按钮并采取相应措施(获取每列点击按钮的集合)。

我的问题是如何处理事件处理程序。我无法思考如何共同处理所有创建的按钮。我基本上需要一个监听器,每次发生更改时都会查看单击了多少按钮,当然还有单击和取消单击相应的按钮。

到目前为止,这是我的代码:

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)

结果如下: 在此处输入图像描述

有什么想法?我什至不需要代码,只是想知道如何处理它。

谢谢。

标签: jupyter-notebookipywidgetsvoila

解决方案


推荐阅读