Docs » Get started » 使用控件增添交互效果


使用控件增添交互效果

通过使用控件,Streamlit 允许您通过 checkboxes 复选框、buttons 按钮、sliders 滑动条等将交互性功能直接应用到您的 app 项目中。查阅我们的 API 参考 以获得交互性部件的完整列表。

使用 checkboxes 来展示或隐藏数据

checkboxes 复选框的一个用例是在 app 应用中隐藏或显示特定的图表或区域。st.checkbox() 接收单个参数,即部件的标签。在这个样例中,复选框将用于切换一个条件语句。

if st.checkbox('展示 dataframe'):
    chart_data = pd.DataFrame(
        np.random.randn(20, 3),
        columns = ['a', 'b', 'c']
    )
    st.line_chart(chart_data)

使用 selectbox 做选择

使用 st.selectbox() 函数从一个系列中进行选择。您可以写入您想要的选项,或者通过传入数组或数据帧列的方式实现。

让我们使用前面创建的 df 数据帧。

option = st.selectbox(
    '选择你最爱的数字?',
    df['first column']
)
'你的选择是:', option

把控件加入侧栏

为了一个更加干净整洁的界面,您可以选择移动您的控件放入侧栏中。这将使你的主要应用展示在网页的中心位置,而部件则固定在左侧。让我们来看看如何在您的 app 应用中使用 st.sidebar

option = st.sidebar.selectbox(
    '选择你最爱的数字?',
    df['first column']
)
'你的选择是:', option

您可以把大多数元素放入到您的 app 应用中,也可以使用 st.sidebar.[element_name]() 这种语法来将其放到侧边栏。下面的几个例子将展示它是如何被使用:st.sidebar.markdown()st.sidebar.slider()st.sidebar.line_chart()

现在唯一的例外是 st.write() 函数(您应该使用 st.sidebar.markdown() 来代替)、st.echost.spinner。尽管如此,请放心,我们目前也在努力为它们添加支持!