插入一个可以展开/折叠的多元素容器。

在您的应用程序中插入一个容器,该容器可用于容纳多个元素,并且可以由用户展开或折叠。当折叠时,唯一可见的是提供的标签。

要向返回的容器添加元素,您可以使用with表示法(推荐)或直接在返回的对象上调用方法。请参见下面的示例。

警告

目前,您可能无法将一个扩展器放在另一个扩展器内。

函数签名[source]

st.expander(label, expanded=False, *, icon=None)

参数

标签 (str)

用作扩展器标题的字符串。标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图像。图像显示为图标,最大高度等于字体高度。

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

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

expanded (bool)

如果为True,则以“展开”状态初始化扩展器。默认为False(折叠)。

icon (str, None)

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

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

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

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

示例

你可以使用with符号将任何元素插入到扩展器中

import streamlit as st

st.bar_chart({"data": [1, 5, 2, 6, 2, 1]})

with st.expander("See explanation"):
    st.write('''
        The chart above shows some numbers I picked for you.
        I rolled actual dice for these, so they're *guaranteed* to
        be random.
    ''')
    st.image("https://static.streamlit.io/examples/dice.jpg")

或者你可以直接在返回的对象上调用方法:

import streamlit as st

st.bar_chart({"data": [1, 5, 2, 6, 2, 1]})

expander = st.expander("See explanation")
expander.write('''
    The chart above shows some numbers I picked for you.
    I rolled actual dice for these, so they're *guaranteed* to
    be random.
''')
expander.image("https://static.streamlit.io/examples/dice.jpg")
forum

还有问题吗?

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