JupyterLab ipywidget 关闭一个小部件并在单击按钮时显示另一个小部件
JupyterLab ipywidget close one widget and display another on button click
我是 Jupyterlab 和 ipywidget 的新手(可能缺少一些基础知识)。
这看起来很简单,但是我到处找了找也没有找到实现的方法。
我只需要在(小部件 A 的)按钮单击事件上关闭小部件 A 并显示小部件 B。
这就是我的 tried/need 简单来说。
import ipywidgets
from IPython.display import display
buttonA_widget = ipywidgets.Button(description='Button A')
buttonB_widget = ipywidgets.Button(description='Button B')
display(buttonA_widget)
def switchMode(x):
buttonA_widget.close()
display(buttonB_widget)
buttonA_widget.on_click(switchMode)
当我在上面尝试时,buttonA 消失了,但是第二个显示调用没有被执行
而且我没有收到任何错误消息(在 Jetson Nano 上尝试此操作)。
提前致谢...
您可以将按钮包装在 Output
小部件中,并在需要时将其清除:
import ipywidgets
from IPython.display import display
buttonA_widget = ipywidgets.Button(description='Button A')
buttonB_widget = ipywidgets.Button(description='Button B')
out = ipywidgets.Output()
with out:
display(buttonA_widget)
def switchMode(x):
out.clear_output()
with out:
display(buttonB_widget)
buttonA_widget.on_click(switchMode)
out
我是 Jupyterlab 和 ipywidget 的新手(可能缺少一些基础知识)。
这看起来很简单,但是我到处找了找也没有找到实现的方法。
我只需要在(小部件 A 的)按钮单击事件上关闭小部件 A 并显示小部件 B。
这就是我的 tried/need 简单来说。
import ipywidgets
from IPython.display import display
buttonA_widget = ipywidgets.Button(description='Button A')
buttonB_widget = ipywidgets.Button(description='Button B')
display(buttonA_widget)
def switchMode(x):
buttonA_widget.close()
display(buttonB_widget)
buttonA_widget.on_click(switchMode)
当我在上面尝试时,buttonA 消失了,但是第二个显示调用没有被执行
而且我没有收到任何错误消息(在 Jetson Nano 上尝试此操作)。
提前致谢...
您可以将按钮包装在 Output
小部件中,并在需要时将其清除:
import ipywidgets
from IPython.display import display
buttonA_widget = ipywidgets.Button(description='Button A')
buttonB_widget = ipywidgets.Button(description='Button B')
out = ipywidgets.Output()
with out:
display(buttonA_widget)
def switchMode(x):
out.clear_output()
with out:
display(buttonB_widget)
buttonA_widget.on_click(switchMode)
out