插入一个弹出框容器。
插入一个多元素容器作为弹出框。它由一个类似按钮的元素和一个在点击按钮时打开的容器组成。
打开和关闭弹出窗口不会触发重新运行。与打开的弹出窗口内的小部件交互将重新运行应用程序,同时保持弹出窗口打开。点击弹出窗口外部将关闭它。
要向返回的容器添加元素,您可以使用“with”符号(推荐)或直接在返回的对象上调用方法。请参见下面的示例。
警告
您不能将一个弹出框放在另一个弹出框内。
| 函数签名[source] | |
|---|---|
st.popover(label, *, help=None, icon=None, disabled=False, use_container_width=False) | |
| 参数 | |
label (str) | 打开弹出容器的按钮的标签。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图像。图像显示为图标,最大高度等于字体高度。 不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会呈现。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是有序列表"。 有关其他支持的Markdown指令,请参见st.markdown的body参数。 |
help (str) | 当悬停在弹出按钮上时显示的可选工具提示。 |
icon (str) | 一个可选的emoji或图标,显示在按钮标签旁边。如果icon 是None(默认),则不显示图标。如果icon是一个 字符串,则以下选项有效:
|
disabled (bool) | 一个可选的布尔值,如果设置为True,则禁用弹出按钮。默认值为False。 |
use_container_width (bool) | 是否扩展按钮的宽度以填充其父容器。 如果 use_container_width 是 False(默认),Streamlit 会调整按钮的大小以适应其内容。如果 use_container_width 是 True,按钮的宽度将与其父容器匹配。 在这两种情况下,如果按钮的内容比父容器宽,内容将换行。 弹出窗口容器的最小宽度与其按钮的宽度匹配。弹出窗口容器可能比其按钮宽,以适应容器的内容。 |
示例
你可以使用with符号将任何元素插入到弹出框中:
import streamlit as st with st.popover("Open popover"): st.markdown("Hello World 👋") name = st.text_input("What's your name?") st.write("Your name:", name)或者你可以直接在返回的对象上调用方法:
import streamlit as st popover = st.popover("Filter items") red = popover.checkbox("Show red items.", True) blue = popover.checkbox("Show blue items.", True) if red: st.write(":red[This is a red item.]") if blue: st.write(":blue[This is a blue item.]")
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。