如何在ipython / jupyter

时间:2017-07-08 12:54:28

标签: python-3.x jupyter-notebook ipywidgets

我正在尝试制作VBox小部件,并在单击按钮时添加带文本的新行。

我尝试以下代码

import ipywidgets as wg
from ipywidgets import Layout
from IPython.display import display

vb = wg.VBox([wg.Text('1'),wg.Text('2')])
btn = wg.Button(description = 'Add') 

def on_bttn_clicked(b):        
    vb.children=tuple(list(vb.children).append(wg.Text('3'))) 

btn.on_click(on_bttn_clicked)
display(vb, btn)

list(hb.children)

但是作业" hb.children ="不起作用...... 有没有办法在同一单元格中编辑带有代码的容器小部件?

1 个答案:

答案 0 :(得分:0)

您可以使用简单的加号来连接两个列表。

vb.children=tuple(list(vb.children) + [new_button])

所以你的完整脚本将如下所示:

import ipywidgets as wg
from ipywidgets import Layout
from IPython.display import display

vb = wg.VBox([wg.Text('1'),wg.Text('2')])
btn = wg.Button(description = 'Add') 

def on_bttn_clicked(b):        
    vb.children=tuple(list(vb.children) + [wg.Text('3')]) 

btn.on_click(on_bttn_clicked)
display(vb, btn)

list(vb.children)