st.progress
st.progress
显示一个随着循环进度更新的进度条。
示例应用
代码
以下展示了如何使用 st.progress
:
import streamlit as st
import time
st.title('st.progress')
with st.expander('About this app'):
st.write('You can now display the progress of your calculations in a Streamlit app with the `st.progress` command.')
my_bar = st.progress(0)
for percent_complete in range(100):
time.sleep(0.05)
my_bar.progress(percent_complete 1)
st.balloons()
逐行解释
创建 Streamlit 应用时要做的第一件事就是将 streamlit
库导入为 st
,并且导入要用到的 time
库:
import streamlit as st
import time
接下来为应用创建标题文字:
代码语言:javascript复制st.title('st.progress')
用 st.expander
创建一个 About box,在其中用 st.write
显示描述信息:
#用with 进行标题设定和内容输入
with st.expander('About this app'):
st.write('You can now display the progress of your calculations in a Streamlit app with the `st.progress` command.')
最后,我们定义一个进度条,并且以 0 为初值将其实例化。然后一个 for
循环将从 0
遍历至 100
。在每个循环中,我们用 time.sleep(0.05)
来让应用等待 0.05
秒再令 my_bar
进度条数值加 1
,这样能够以图像的形式显示出进度条随每个循环增长。
my_bar = st.progress(0)
#循环设定时间备份比增长加一
for percent_complete in range(100):
time.sleep(0.05)
my_bar.progress(percent_complete 1)
st.balloons()
延伸阅读
- st.progress
显示进度条。这里进度条就是整数在0-100,浮点类型为0.0-1.0之间。
0 <= value <= 100 for int 0.0 <= value <= 1.0 for float |
---|
下面是一个进度条随时间增加并在完成后消失的示例:
代码语言:javascript复制import streamlit as st
import time
#进行文本介绍
progress_text = "Operation in progress. Please wait."
#从0开始
my_bar = st.progress(0, text=progress_text)
#百分比和时间计算
for percent_complete in range(100):
time.sleep(0.01)
my_bar.progress(percent_complete 1, text=progress_text)
time.sleep(1)
my_bar.empty()
st.button("Rerun")