插入分隔成标签的容器。

插入多个多元素容器作为标签页。 标签页是一种导航元素,允许用户轻松地在相关内容的组之间移动。

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

警告

每个标签的所有内容总是发送到前端并渲染。 目前不支持条件渲染。

函数签名[source]

st.tabs(tabs)

参数

tabs (list of str)

为列表中的每个字符串创建一个标签。默认情况下,第一个标签被选中。字符串用作标签的名称,并且可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图像。图像显示为图标,最大高度等于字体高度。

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

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

返回

(list of containers)

容器对象的列表。

示例

你可以使用with符号将任何元素插入到标签中:

import streamlit as st

tab1, tab2, tab3 = st.tabs(["Cat", "Dog", "Owl"])

with tab1:
    st.header("A cat")
    st.image("https://static.streamlit.io/examples/cat.jpg", width=200)
with tab2:
    st.header("A dog")
    st.image("https://static.streamlit.io/examples/dog.jpg", width=200)
with tab3:
    st.header("An owl")
    st.image("https://static.streamlit.io/examples/owl.jpg", width=200)

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

import streamlit as st
import numpy as np

tab1, tab2 = st.tabs(["📈 Chart", "🗃 Data"])
data = np.random.randn(10, 1)

tab1.subheader("A tab with a chart")
tab1.line_chart(data)

tab2.subheader("A tab with the data")
tab2.write(data)
forum

还有问题吗?

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