Есть ли способ установить значение заголовка для контейнеров в ipywidgets? - PullRequest
0 голосов
/ 10 апреля 2020

Все, я пытаюсь создать небольшой интерфейс в качестве оболочки для инструмента, который у меня есть. Я пытаюсь использовать ipywidgets в ноутбуках Jupyter, чтобы сделать это, и я столкнулся с небольшой проблемой. На странице «Читать документы» недостаточно ясно, как к ней можно обратиться, поэтому любые рекомендации будут с благодарностью приняты.

Вот то, на что я смотрю, это прямо из документации:

```
import ipywidgets as widgets 

tab_contents = ['P0', 'P1', 'P2', 'P3', 'P4']
children = [widgets.Text(description=name) for name in tab_contents]
tab = widgets.Tab()
tab.children = children
tab.titles = [str(i) for i in range(len(children))]
tab
```

Это выглядит великолепно, за исключением того, что вкладки не имеют заголовка. Документация в основном говорит, что заголовки могут быть установлены так же, как и контейнер Accordion, но даже этот контейнер не показывает, как установить заголовок. Буду признателен за любую помощь в этом вопросе.

Best Uday

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Да, это не самый очевидный способ сделать это. Вот альтернатива, которая избегает понимания списка.

for title, (index, _) in zip(tab_contents, enumerate(tab.children)):
    tab.set_title(index, title)
0 голосов
/ 10 апреля 2020

Я нашел ответ здесь (https://github.com/jupyter-widgets/ipywidgets/issues/1307):

 from ipywidgets import *
 names = ['General', 'Representation', 'Preference', 'Theme', 'Extra', 'Help']
 tab = Tab([IntSlider(description='hi') for _ in names])
 [tab.set_title(i, title) for i, title in enumerate(names)]
 tab
...