在应用程序及其侧边栏的左上角渲染一个徽标。
如果在一个页面中多次调用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") | 应用程序左上角及其侧边栏中显示的图像大小。可能的取值如下:
|
link (str or None) | 当用户点击徽标时打开的外部URL。URL必须以"http://"或"https://"开头。如果link是None(默认值),徽标将不包含超链接。 |
icon_image (任何由st.image支持的内容(除了列表)或None) | 一个可选的,通常较小的图像,用于在侧边栏关闭时替换左上角的image。这可以是st.image支持的任何类型,除了列表。如果icon_image是None(默认),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!")
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。