jupyter-notebook - 为多个 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)
有什么想法?我什至不需要代码,只是想知道如何处理它。
谢谢。
解决方案
推荐阅读
- swift - 如何在 Firebase 上使用 Stripe 付款
- matlab - matlab textscan 给了我错误的行数
- django - 如何根据 django 中的其他模型字段设置模型字段类型
- scala - Scala Curried 类型不匹配
- python - 无法将带时区的 DateTime 传递给棉花糖
- php - Laravel 5.7 MethodNotAllowedHttpException
- angular6 - 如何添加 wavesurfer.js 麦克风插件
- vuejs2 - V-for 对象数组
- vue.js - 无法使用 axios 和 djangorestframework-jwt 访问令牌
- python - Python Prime 生成器