Виджеты ноутбука Jupyter. Кнопки не отображаются при включении блока try, кроме блока - PullRequest
0 голосов
/ 02 октября 2018

Я работаю над ноутбуком Windows и Jupyter.Я пытался выполнить блок попытки и исключения, в ячейке Jupyter, с некоторым количеством widgets.Button внутри, но это не работает.Я упростил ситуацию в следующем коде:

import ipywidgets as widgets

def widget(description):
    button = widgets.Button(description=description,layout={'width': '300px'})
    return button

try:
    print("Before widget_1")
    widget_1 = widget(description='Browser One')
    widget_1
    print("After widget_1")
except:
    pass

widget_2 = widget(description='Browser Two')
widget_2

После выполнения ячейки Jupyter она напечатает " Before widget_1" и "After widget_1", а затем появится widget_2.

Browser Two

Однако widget_1 не отображается.

Есть идеи, почему это не работает, как я ожидал?

1 Ответ

0 голосов
/ 13 ноября 2018

Ответ здесь jupyter / help от minrk , widgets отображаются только на странице, когда они отображаются, для этого используйте display(widget)

widget_2 отображается там, потому что это последний оператор в ячейке, который IPython интерпретирует как «результат» ячейки, поэтому он отображается автоматически.

Если мы изменим try/exceptБлок приведенного выше кода для следующего:

try:
    print("Before widget_1")
    widget_1 = widget(description='Browser One')
    display(widget_1)
    print("After widget_1")
except:
    pass

Код будет работать, как ожидалось.Это означает, что widget_1 и widget_2 появится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...