瞧,ipywidgets 'nice' 加载程序
voila iypwidgets 'nice' loader
当用 voila 渲染笔记本时,voila 渲染网站时会出现一个非常好的加载程序,如果仪表板很大,这可能需要几秒钟。
在仪表板中创建并启动后,用户可能 运行 操作可能需要几秒钟的时间来计算。
我想 运行 仪表板顶部的加载器指示用户计算机正在计算。 (浮动旋转图标或其他)
可以吗?
如果无法使用浮动选项 5 这里任何 ipywidget 作为计算指标(加载栏或类似的)
感谢
我做了类似的事情,但找不到在控件上叠加图像的方法(锁定任何进一步的交互等)。我发现最简单的方法是有一个专用于进度条的输出小部件,并在进行长 运行 计算时显示进度条。
这最适合 'repeating' 加载栏,例如 https://i.imgur.com/CS6l6tB.gif 而不是实际显示真实进度的加载栏。
import ipywidgets as widgets
import time
gif_address = 'PATH_TO_YOUR_LOADING_BAR'
with open(gif_address, 'rb') as f:
img = f.read()
# create loading bar widget, ready to display when running long function
loading_bar = widgets.Image(value=img)
def long_running_function():
time.sleep(2)
out = widgets.Output()
display(out)
# make sure your widgets are observing a function which includes these lines:
with out:
display(loading_bar)
long_running_function()
out.clear_output()
我倾向于在仪表板顶部的某处放置一个输出小部件,例如:
out_loader = widgets.Output()
每当一个繁重的函数开始时 运行 加载程序就会显示。
with out_loader:
display(loading_bar)
并在函数结束时
out_loader.clear_output()
不知道能不能只写一行。会更好。
当用 voila 渲染笔记本时,voila 渲染网站时会出现一个非常好的加载程序,如果仪表板很大,这可能需要几秒钟。
在仪表板中创建并启动后,用户可能 运行 操作可能需要几秒钟的时间来计算。 我想 运行 仪表板顶部的加载器指示用户计算机正在计算。 (浮动旋转图标或其他)
可以吗?
如果无法使用浮动选项 5 这里任何 ipywidget 作为计算指标(加载栏或类似的)
感谢
我做了类似的事情,但找不到在控件上叠加图像的方法(锁定任何进一步的交互等)。我发现最简单的方法是有一个专用于进度条的输出小部件,并在进行长 运行 计算时显示进度条。
这最适合 'repeating' 加载栏,例如 https://i.imgur.com/CS6l6tB.gif 而不是实际显示真实进度的加载栏。
import ipywidgets as widgets
import time
gif_address = 'PATH_TO_YOUR_LOADING_BAR'
with open(gif_address, 'rb') as f:
img = f.read()
# create loading bar widget, ready to display when running long function
loading_bar = widgets.Image(value=img)
def long_running_function():
time.sleep(2)
out = widgets.Output()
display(out)
# make sure your widgets are observing a function which includes these lines:
with out:
display(loading_bar)
long_running_function()
out.clear_output()
我倾向于在仪表板顶部的某处放置一个输出小部件,例如:
out_loader = widgets.Output()
每当一个繁重的函数开始时 运行 加载程序就会显示。
with out_loader:
display(loading_bar)
并在函数结束时
out_loader.clear_output()
不知道能不能只写一行。会更好。