我正在尝试制作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 ="不起作用...... 有没有办法在同一单元格中编辑带有代码的容器小部件?
答案 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)