在应用程序及其侧边栏的左上角渲染一个徽标。

如果在一个页面中多次调用st.logo,Streamlit将渲染最后一次调用中传入的图像。为了获得最一致的结果,请在页面脚本的早期调用st.logo,并选择一个在亮模式和暗模式下都表现良好的图像。避免图像周围有空白的边距。

如果您的徽标在亮色和暗色模式下效果不佳,请考虑设置主题并通过配置选项 client.toolbarMode="minimal" 向用户隐藏设置菜单。

函数签名[source]

st.logo(image, *, size="medium", link=None, icon_image=None)

参数

image (Anything supported by st.image (except list))

要在应用程序及其侧边栏左上角显示的图像。这可以是st.image支持的任何类型,除了列表。如果还提供了icon_image,则Streamlit将仅在侧边栏中显示image

Streamlit会将图像缩放到由size设置的最大高度,并调整最大宽度以适应侧边栏。

size ("small", "medium", or "large")

应用程序左上角及其侧边栏中显示的图像大小。可能的取值如下:

  • "small": 最大高度为20px
  • "medium" (默认): 最大高度为24px
  • "large": 最大高度为32px

link (str or None)

当用户点击徽标时打开的外部URL。URL必须以"http://"或"https://"开头。如果linkNone(默认值),徽标将不包含超链接。

icon_image (任何由st.image支持的内容(除了列表)或None)

一个可选的,通常较小的图像,用于在侧边栏关闭时替换左上角的image。这可以是st.image支持的任何类型,除了列表。如果icon_imageNone(默认),Streamlit将始终在左上角显示image,无论侧边栏是打开还是关闭。否则,当侧边栏关闭时,Streamlit将在应用程序的左上角渲染icon_image

Streamlit将图像缩放到由size设置的最大高度和适合侧边栏的最大宽度。如果侧边栏关闭,最大宽度将保留上次打开时的设置。

为了获得最佳效果,请将宽或水平图像传递给image,并将方形图像传递给icon_image。或者,将方形图像传递给image并保持icon_image=None

示例

常见的设计实践是在侧边栏使用较宽的徽标,并在应用程序的主体中使用较小的图标样式徽标。

import streamlit as st

st.logo(
    LOGO_URL_LARGE,
    link="https://streamlit.io/gallery",
    icon_image=LOGO_URL_SMALL,
)

尝试在以下示例中切换徽标:

import streamlit as st

HORIZONTAL_RED = "images/horizontal_red.png"
ICON_RED = "images/icon_red.png"
HORIZONTAL_BLUE = "images/horizontal_blue.png"
ICON_BLUE = "images/icon_blue.png"

options = [HORIZONTAL_RED, ICON_RED, HORIZONTAL_BLUE, ICON_BLUE]
sidebar_logo = st.selectbox("Sidebar logo", options, 0)
main_body_logo = st.selectbox("Main body logo", options, 1)

st.logo(sidebar_logo, icon_image=main_body_logo)
st.sidebar.markdown("Hi!")
forum

还有问题吗?

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