我正在尝试创建一个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=" 无法正常工作... 是否有一种方法可以在同一个单元格中使用代码编辑容器小部件?
vb.children=tuple(list(vb.children).append(wg.Text('3'))
可能是你主要的问题所在:list(vb.children).append(wg.Text('3')
返回值是None
,因此你将None
传递给了tuple
构造方法。实际上,这应该会抛出一个错误。请在此处分享该错误信息。 - Abdoudef on_bttn_clicked(b): temp = list(vb.children) temp.append(wg.Text('3')) vb.children=temp
现在它可以正常工作了! - Stanislav Popovych