star

提示

查看我们的教程,了解如何使用st.page_link构建自定义的动态菜单。

在多页面应用程序中显示指向另一个页面的链接或指向外部页面的链接。

如果在多页面应用程序中指定了另一个页面,点击st.page_link会停止当前页面的执行,并运行指定的页面,就像用户在侧边栏导航中点击了它一样。

如果指定了外部页面,点击st.page_link将打开一个新标签页到指定页面。如果当前脚本运行未完成,将继续运行。

函数签名[来源]

st.page_link(page, *, label=None, icon=None, help=None, disabled=False, use_container_width=None)

参数

page (str, Path, or st.Page)

文件路径(相对于主脚本)或指示要切换到的页面的st.Page。或者,这可以是外部页面的URL(必须以“http://”或“https://”开头)。

标签 (str)

页面链接的标签。外部页面需要标签。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。

不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会渲染。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是有序列表"

有关其他支持的Markdown指令,请参见st.markdownbody参数。

icon (str or None)

一个可选的emoji或图标,显示在按钮标签旁边。如果iconNone(默认),则不显示图标。如果icon是一个 字符串,以下选项是有效的:

  • 一个单字符的emoji。例如,你可以设置icon="🚨"icon="🔥"。不支持emoji短代码。

  • 来自Material Symbols库(圆角风格)的图标,格式为 ":material/icon_name:",其中"icon_name"是图标名称 的蛇形命名法。

    例如,icon=":material/thumb_up:"将显示 Thumb Up图标。在Material Symbols 字体库中查找更多图标。

help (str)

当鼠标悬停在链接上时显示的可选工具提示。

disabled (bool)

一个可选的布尔值,如果设置为True,则禁用页面链接。 默认值为False

use_container_width (bool)

是否将链接的宽度扩展到其父容器的宽度。 侧边栏中的页面链接默认值为True,而主应用程序中的链接默认值为False

示例

考虑以下示例,给定此文件结构:

your-repository/
├── pages/
│   ├── page_1.py
│   └── page_2.py
└── your_app.py
import streamlit as st

st.page_link("your_app.py", label="Home", icon="🏠")
st.page_link("pages/page_1.py", label="Page 1", icon="1️⃣")
st.page_link("pages/page_2.py", label="Page 2", icon="2️⃣", disabled=True)
st.page_link("http://www.google.com", label="Google", icon="🌎")

这里显示了默认导航以供比较,但你可以使用client.showSidebarNavigation配置选项隐藏默认导航。这允许你为你的应用程序创建自定义的动态导航菜单!

forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。