欢迎光临
我们一直在努力

Streamlit(十六)- API 参考文档(九)- 状态提示组件

文章目录

  • 一、提示框分组(CALLOUTS)
    • 1.1 `st.success`:成功提示框
      • 功能说明
      • 核心参数
      • 代码示例
    • 1.2 `st.info`:信息提示框
      • 功能说明
      • 核心参数
      • 代码示例
    • 1.3 `st.warning`:警告提示框
      • 功能说明
      • 核心参数
      • 代码示例
    • 1.4 `st.error`:错误提示框
      • 功能说明
      • 核心参数
      • 代码示例
    • 1.5 `st.exception`:异常堆栈弹窗
      • 功能说明
      • 核心参数
      • 代码示例
  • 二、其他状态组件分组(OTHER)
    • 2.1 `st.progress`:进度条
      • 功能说明
      • 核心参数
      • 代码示例
    • 2.2 `st.spinner`:加载转圈指示器
      • 功能说明
        • 核心参数
      • 代码示例
    • 2.3 `st.status`:任务状态折叠面板
      • 功能说明
      • 核心参数
      • 常用方法
      • 代码示例
    • 2.4 `st.toast`:轻量弹出通知
      • 功能说明
      • 核心参数
      • 代码示例
    • 2.5 `st.balloons`:气球庆祝动画
      • 功能说明
      • 代码示例
    • 2.6 `st.snow`:雪花庆祝动画
      • 功能说明
      • 代码示例

一、提示框分组(CALLOUTS)

1.1 st.success:成功提示框

功能说明

绿色背景的成功提示气泡,用于告知用户操作执行成功、任务完成等正向结果。

核心参数

参数说明
body 提示框内展示的文字内容
icon 自定义前置图标,支持单个Emoji、Material图标,不传则无图标

代码示例

import streamlit as st
st.success("文件上传成功!", icon="✅")

在这里插入图片描述


1.2 st.info:信息提示框

功能说明

浅蓝色背景的信息提示气泡,用于展示说明、指引、补充提示等中性信息。

核心参数

参数说明
body 提示框文字内容
icon 自定义前置图标,支持Emoji、Material图标

代码示例

import streamlit as st
st.info("文件最大支持200MB,仅支持CSV格式", icon="ℹ️")

在这里插入图片描述


1.3 st.warning:警告提示框

功能说明

黄色背景的警告提示气泡,用于提醒用户潜在风险、不规范操作、数据缺失等问题。

核心参数

参数说明
body 警告文字内容
icon 自定义前置图标

代码示例

import streamlit as st
st.warning("当前数据未保存,刷新页面会丢失修改", icon="⚠️")

在这里插入图片描述


1.4 st.error:错误提示框

功能说明

红色背景的错误提示气泡,用于告知用户操作失败、校验不通过、运行报错等负面结果。

核心参数

参数说明
body 错误描述文字
icon 自定义前置图标

代码示例

import streamlit as st
st.error("登录失败:账号或密码错误", icon="🚨")

在这里插入图片描述


1.5 st.exception:异常堆栈弹窗

功能说明

专门用于捕获并展示Python程序异常,自动渲染完整报错堆栈信息,方便调试定位代码问题。

核心参数

  • exception:捕获到的Python Exception异常对象

代码示例

import streamlit as st
try:
1 / 0
except Exception as e:
st.exception(e)

在这里插入图片描述

二、其他状态组件分组(OTHER)

2.1 st.progress:进度条

功能说明

可视化数值进度条,用于展示文件上传、循环计算、数据处理等任务的完成百分比,支持动态更新进度与说明文字。

核心参数

参数说明
value 进度数值:0~100 整数 / 0.0~1.0 浮点数
text 进度条上方的说明文字,支持Markdown

代码示例

import streamlit as st
import time

bar = st.progress(0, text="数据处理中…")
for i in range(100):
time.sleep(0.01)
bar.progress(i + 1, text=f"已完成 {i+1}%")
bar.empty() # 完成后清空进度条

在这里插入图片描述


2.2 st.spinner:加载转圈指示器

功能说明

代码块运行期间显示旋转加载图标与提示文字,代码执行完毕自动消失,适合短时间等待任务。

核心参数
  • text:加载时展示的提示文字,默认In progress…

代码示例

import streamlit as st
import time

with st.spinner("正在加载数据,请稍候…"):
time.sleep(5) # 模拟耗时操作
st.success("数据加载完成!")

在这里插入图片描述


2.3 st.status:任务状态折叠面板

功能说明

可展开/收起的任务日志面板,自带运行、完成、错误三种状态图标,面板内可写入多行运行日志,适合长时间批量任务。

核心参数

参数说明
label 面板标题,支持Markdown
expanded 初始化是否展开日志详情,默认False
state 初始状态:running转圈 / complete对勾 / error错误叉号

常用方法

.update(label=…, state=…, expanded=…):运行中动态修改面板状态、标题

代码示例

import streamlit as st
import time

with st.status("文件下载中…", expanded=True) as task:
st.write("检索云端资源…")
time.sleep(2)
st.write("解析文件链接")
time.sleep(1)
task.update(label="下载全部完成", state="complete", expanded=False)

在这里插入图片描述


2.4 st.toast:轻量弹出通知

功能说明

页面右下角弹出的轻量消息弹窗,自动4秒后消失,不会打断用户当前操作,适合保存成功、简易提醒等轻量反馈。

核心参数

参数说明
body 通知文字,支持Markdown
icon 自定义前置图标,支持Emoji、Material图标

代码示例

import streamlit as st

if st.button("保存修改"):
st.toast("表单保存成功!", icon="🎉")


2.5 st.balloons:气球庆祝动画

功能说明

全屏飘落彩色气球的全屏庆祝动画,无参数,用于任务圆满完成、提交成功等强正向反馈场景。

代码示例

import streamlit as st

if st.button("提交答卷"):
st.balloons()
st.success("恭喜你完成全部答题!")

在这里插入图片描述


2.6 st.snow:雪花庆祝动画

功能说明

全屏飘落白色雪花的全屏庆祝动画,无参数,节日场景、重大任务完成时使用。

代码示例

import streamlit as st

if st.button("领取年终奖励"):
st.snow()
st.info("奖励已发放至你的账户!")

在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » Streamlit(十六)- API 参考文档(九)- 状态提示组件
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址