簡體   English   中英

JupyterLab ipywidget 關閉一個小部件並在單擊按鈕時顯示另一個小部件

[英]JupyterLab ipywidget close one widget and display another on button click

我是 Jupyterlab 和 ipywidget 的新手(可能缺少一些基礎知識)。
這看起來很簡單,但我到處搜索,找不到辦法做到這一點。
我只需要關閉小部件 A 並在按鈕單擊事件(小部件 A)上顯示小部件 B。
這就是我嘗試/需要的簡單術語。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM