如何控制Streamlit多页面应用的侧边栏页面标题?
Streamlit多页面应用侧边栏标题控制方法
你可以通过两种方式自定义侧边栏的页面标题:
方式一:直接修改文件名
Streamlit默认将pages文件夹内的文件名作为侧边栏显示的标题,你可以直接修改文件名来调整显示内容:
- 比如把
sales_report.py改成📈 销售报表.py,侧边栏就会显示带图标和中文的标题 - 注意文件名不能包含
/、\这类特殊字符,避免触发报错
方式二:手动构建自定义导航(不修改文件名)
如果不想改动文件名,可以在主入口文件(比如你的minimal_example.py)中手动创建侧边栏导航,替换默认的自动生成导航:
import streamlit as st def main(): st.set_page_config(page_title="my demo") # 隐藏默认的自动导航 st.markdown(""" <style> [data-testid="stSidebarNav"] {display: none;} </style> """, unsafe_allow_html=True) # 自定义侧边栏导航项 with st.sidebar: st.page_link("minimal_example.py", label="首页", icon="🏠") st.page_link("pages/sales_report.py", label="销售报表", icon="📈") st.page_link("pages/user_analysis.py", label="用户分析", icon="👥") if __name__ == "__main__": main()
- 这种方式可以完全自定义每个页面的显示标签、图标,还能自由调整导航顺序
st.page_link的第一个参数是页面文件的相对路径,label是侧边栏显示的标题,icon可以设置emoji图标
内容的提问来源于stack exchange,提问作者Tom Ron
相关产品推荐
相关产品推荐

