当前位置: 首页 > news >正文

Streamlit(十八)- API 参考文档(十一)- 页面导航组件

文章目录

    • 1. `st.navigation`:自定义多页面导航生成器
      • 功能说明
      • 核心参数
      • 代码示例
    • 2. `st.Page`:页面对象构造类
      • 功能说明
      • 核心参数
      • 代码示例
    • 3. `st.page_link`:页面跳转链接
      • 功能说明
      • 核心参数
      • 代码示例
    • 4. `st.switch_page`:代码编程式强制切换页面
      • 功能说明
      • 核心参数
      • 代码示例

1.st.navigation:自定义多页面导航生成器

功能说明

新一代多页面应用路由核心API,在入口文件统一管理全部页面,支持页面分组、侧边/隐藏两种导航位置、菜单折叠控制,完全替代传统pages/文件夹自动路由。返回当前选中的页面对象,调用.run()渲染页面内容。

核心参数

参数说明
pages页面列表或分组字典:列表为平铺页面;字典键为分组标题,值为该分组下st.Page对象列表
position导航菜单位置:sidebar侧边栏顶部、hidden完全隐藏导航
expanded导航菜单默认展开状态,True永久展开、False默认折叠

代码示例

importstreamlitasst# 定义分组页面page_groups={"数据工具":[st.Page("data_upload.py",title="数据上传",icon="📤"),st.Page("data_analysis.py",title="数据分析",icon="📊")],"系统设置":[st.Page("setting.py",title="账号设置",icon="⚙️",default=True)]}# 生成侧边导航current_page=st.navigation(page_groups,position="sidebar")# 执行当前选中页面current_page.run()


2.st.Page:页面对象构造类

功能说明

用来封装单页信息的构造函数,生成StreamlitPage实例,传入st.navigation注册页面;支持本地py文件、Python函数两种页面源,可自定义页面标题、图标、路由地址、默认首页。

核心参数

参数说明
page页面源:py文件相对路径 / 无参Python函数
title导航菜单展示的页面名称,不填自动读取文件名/函数名
icon导航图标,支持Emoji、Material图标
url_path浏览器路由后缀,默认自动生成;default=True时为空根路由
default是否设为应用默认首页,打开App自动加载该页面

代码示例

importstreamlitasst# 1. 文件页面page_file=st.Page("dashboard.py",title="数据看板",icon=":material/bar_chart:",default=True)# 2. 函数页面deffunc_page():st.title("函数页面")page_func=st.Page(func_page,title="工具页面",icon="🔧")st.navigation([page_file,page_func]).run()


3.st.page_link:页面跳转链接

功能说明

页面内渲染跳转按钮/链接,分为内部应用页面跳转外部网址跳转两种模式;点击后直接切换页面或新开标签页,无需额外按钮逻辑。

核心参数

参数说明
page目标:本地页面文件路径 /st.Page对象 / http/https外部链接
label链接显示文字,外部链接必填
icon链接前置图标
disabled是否禁用该跳转链接
use_container_width链接宽度填满父容器

代码示例

importstreamlitasst# 跳转内部页面st.page_link("dashboard.py",label="返回首页",icon="🏠")# 跳转外部网页st.page_link("https://www.baidu.com",label="打开百度",icon="🌐")# 禁用的页面链接st.page_link("analysis.py",label="数据分析(维护中)",disabled=True)


4.st.switch_page:代码编程式强制切换页面

功能说明

代码内触发页面跳转,常用于按钮点击、表单提交、登录成功等场景,执行后立刻终止当前页面代码,加载目标页面,纯逻辑驱动无UI展示。

核心参数

  • page:目标页面的相对文件路径,或预先定义的st.Page对象

代码示例

importstreamlitasst# 点击按钮自动跳转到首页ifst.button("回到首页"):st.switch_page("main.py")# 表单提交后跳转数据页submit=st.form_submit_button("开始分析")ifsubmit:st.switch_page("pages/data_analysis.py")
http://www.cnnetsun.cn/news/2692732.html

相关文章:

  • SpikingJelly泊松编码实战:从图像处理到SNN模型输入的完整数据流水线
  • 智能垃圾桶项目成本大揭秘:从零到量产,SG90舵机、SW-18010P震动传感器到底怎么选最划算?
  • 用于自动维护一个 C# 源码文件(AutoVersion.cs)
  • CANoe自动化测试进阶:巧用setPreTrigger和setPostTrigger,让你的CPAL脚本精准捕获‘事发瞬间’的数据
  • 医疗边缘AI硬件加速:CMOS ASIC、FPGA与忆阻器技术解析与应用
  • 告别‘元素不可见’:Selenium+Pytest处理shadow-root的完整避坑指南
  • 新能源电站电能质量数据采集解决方案
  • java matches Java匹配上瘾?这编程语言让你从菜鸟秒变大神
  • DownGit:基于GitHub API的前端资源精准下载技术方案
  • 如何在Fusion 360中创建完美适配3D打印的螺纹:终极配置指南
  • 基于GSM与Arduino的远程门锁系统:从硬件选型到软件编程的完整实战指南
  • 3分钟掌握ComfyUI IPAdapter Plus:让AI绘画学会“看图说话“的神器
  • 电路设计跨界实践:从Arduino到智能生活项目的创意实现
  • AWS DevOps Agent 集成运维文档
  • LinkSwift:一站式网盘直链下载助手,高效解决九大平台文件下载难题
  • 戴森吸尘器电池复活终极指南:开源固件如何打破32次闪烁的死亡魔咒
  • STM32小车主控工程:支持思岚雷达、自动回充与多传感器避障(IAR环境)
  • 基于Arduino与Python的PC屏幕自动亮度调节系统设计与实现
  • KMS_VL_ALL_AIO:Windows和Office智能激活工具的终极完整指南
  • 3个颠覆性功能:为什么Trelby正在改变剧本创作的游戏规则?
  • Linux内核里那个默默无闻的‘搬运工’:SWIOTLB的bounce buffer机制详解
  • 零成本免费用,每年少花400块省130小时,2026快手视频总结,不算这笔账你亏大了
  • CDMP 认证赋能企业数据治理实战指南
  • STM32F4智能鱼缸实战工程:FreeRTOS多任务管理+LCD触摸显示+ESP8266直连机智云
  • 从“激光灭蚊神器”爆单说起:出口企业,你的数据扛得住“幸福的烦恼”吗?
  • 从《孤勇者》到周杰伦:拆解流行歌谱里的‘换气V’和‘跳音三角’,让你的翻唱更有细节
  • 练习题题目
  • 5个关键特性深度解析:RTL8821CU Linux驱动如何让USB Wi-Fi适配器在Linux上完美运行
  • 如何解决百度网盘Mac版下载慢:终极快速方案
  • 用Arduino和ESP8266体验加密货币挖矿:Duino-Coin项目实战指南