Python应用开发——30天学习Streamlit Python包进行APP的构建(3)

2024-05-31 12:53:00 浏览数 (3)

st.progress

st.progress 显示一个随着循环进度更新的进度条。

示例应用

代码

以下展示了如何使用 st.progress

代码语言:javascript复制
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 库:

代码语言:javascript复制
import streamlit as st 
import time

接下来为应用创建标题文字:

代码语言:javascript复制
st.title('st.progress')

st.expander 创建一个 About box,在其中用 st.write显示描述信息:

代码语言:javascript复制
#用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,这样能够以图像的形式显示出进度条随每个循环增长。

代码语言:javascript复制
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")

0 人点赞