Как управлять Ipyvuetify ProgressCircular

#jupyter-notebook #vuetify.js #ipywidgets #voila

#jupyter-notebook #vuetify.js #ipywidgets #вуаля

Вопрос:

Я хочу использовать виджет ipyvuetify под названием ProgressCircular, чтобы показать процесс загрузки. Поэтому я пытался выяснить, как показывать и скрывать виджет в моем коде.

 progress=v.ProgressCircular(width=3,
              color='red',
              indeterminate=True,
                       )
 

Хотя я смог увидеть все атрибуты с помощью dir(), я все еще не мог найти подходящий для использования. Как люди понимают, как использовать классы или функции в пакете, в котором отсутствуют образцы.

 dir(v.ProgressCircular)
 

Комментарии:

1. ipyvuetify Пакет работает по тем же принципам, ipywidgets что и пакет, который, как я полагаю, имеет обширную документацию: ipywidgets.readthedocs.io/en/latest/index.html

Ответ №1:

Вы можете использовать display(progress) в Output виджете ipywidgets.

 import ipyvuetify as v
import ipywidgets as ipyw
import time

progress=v.ProgressCircular(width=3,
              color='red',
              indeterminate=True,
                       )

output = ipyw.Output()
display(output)

with output:
    display(progress)
    time.sleep(2)
output.clear_output()
 

Ответ №2:

Я предполагаю, что вы работаете в среде Jupyter :

после объявления виджета поместите его в последнюю строку своей ячейки или используйте display , как предложено @ac24:

 progress = v.ProgressCircular(
    width = 3,
    color = 'red',
    indeterminate = True
)
progress
# alternatively 
# display(progress)
 

как только это будет сделано, вы можете поиграть с ним, используя некоторые очень простые атрибуты html

 progress.class_ = 'd-none' # disapear
progress.class_ = None # shown
 

Поскольку вы жаловались на документацию, смотрите Здесь использование атрибутов HTML https://ipyvuetify.readthedocs.io/en/latest/usage.html#setting-attributes , дополнительные примеры были бы бесполезны, поскольку возможные комбинации атрибутов html практически бесконечны. К счастью для нас vuetify.js предоставляет очень полный вариант, который можно использовать в сочетании с ipyvuetify :
https://vuetifyjs.com/en/styles/display /

Ответ №3:

Для этого не нужно использовать выходные данные или стили, просто создайте виджет контейнера и измените его дочерние элементы:

 import ipyvuetify as v
import time

progress=v.ProgressCircular(width=3,
              color='red',
              indeterminate=True,)

container = v.Html(tag='div', children=[progress])
display(container)

time.sleep(2)
container.children=[v.Chip(children=['Done'])]