st.dataframest.data_editor中配置图像列。

单元格值需要是以下之一:

  • 用于获取图像的URL。这也可以是通过静态文件服务部署的图像的相对URL。 请注意,如果图像无法通过公共URL访问,则不能使用任意本地图像。
  • 一个包含SVG XML的数据URL,例如 data:image/svg+xml;utf8, xmlns=...
  • 一个包含Base64编码图像的数据URL,如data:image/png;base64,iVBO...

图像列目前不可编辑。此命令需要在st.dataframest.data_editorcolumn_config参数中使用。

函数签名[source]

st.column_config.ImageColumn(label=None, *, width=None, help=None, pinned=None)

参数

标签 (str 或 None)

显示在列顶部的标签。如果这是 None(默认),则使用列名。

宽度 ("small", "medium", "large", 或 None)

列的显示宽度。如果这是 None(默认值),列将根据单元格内容自动调整大小。否则,可以是以下之一:

  • "small": 75px 宽
  • "medium": 200px 宽
  • "large": 400px 宽

帮助 (str 或 None)

一个可选的工具提示,当鼠标悬停在列标签上时会显示。如果这是 None(默认值),则不显示工具提示。

pinned (bool or None)

列是否被固定。被固定的列将始终显示在左侧,无论用户滚动到哪里。如果这是 None(默认值),Streamlit 将决定:索引列被固定,数据列不被固定。

示例

import pandas as pd
import streamlit as st

data_df = pd.DataFrame(
    {
        "apps": [
            "https://storage.googleapis.com/s4a-prod-share-preview/default/st_app_screenshot_image/5435b8cb-6c6c-490b-9608-799b543655d3/Home_Page.png",
            "https://storage.googleapis.com/s4a-prod-share-preview/default/st_app_screenshot_image/ef9a7627-13f2-47e5-8f65-3f69bb38a5c2/Home_Page.png",
            "https://storage.googleapis.com/s4a-prod-share-preview/default/st_app_screenshot_image/31b99099-8eae-4ff8-aa89-042895ed3843/Home_Page.png",
            "https://storage.googleapis.com/s4a-prod-share-preview/default/st_app_screenshot_image/6a399b09-241e-4ae7-a31f-7640dc1d181e/Home_Page.png",
        ],
    }
)

st.data_editor(
    data_df,
    column_config={
        "apps": st.column_config.ImageColumn(
            "Preview Image", help="Streamlit app preview screenshots"
        )
    },
    hide_index=True,
)
forum

还有问题吗?

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