函数签名[source] | |
---|---|
st.button(label, key=None, help=None, on_click=None, args=None, kwargs=None, *, type="secondary", icon=None, disabled=False, use_container_width=False) | |
参数 | |
label (str) | 一个简短的标签,向用户解释此按钮的用途。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。 不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会呈现。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是有序列表"。 有关其他支持的Markdown指令,请参见st.markdown的body参数。 |
key (str or int) | 一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。 任何两个小部件都不能有相同的键。 |
help (str) | 一个可选的工具提示,当鼠标悬停在按钮上时会显示。 |
on_click (callable) | 当点击此按钮时调用的可选回调函数。 |
args (tuple) | 传递给回调函数的可选参数元组。 |
kwargs (dict) | 一个可选的字典,用于传递给回调函数。 |
type ("primary", "secondary", or "tertiary") | 一个可选的字符串,用于指定按钮类型。可以是以下之一:
|
icon (str or None) | 一个可选的emoji或图标,显示在按钮标签旁边。如果icon 是None(默认),则不显示图标。如果icon是一个 字符串,以下选项有效:
|
disabled (bool) | 一个可选的布尔值,如果设置为True,则禁用按钮。 默认值为False。 |
use_container_width (bool) | 是否将按钮的宽度扩展到其父容器的宽度。 如果 use_container_width 是 False(默认),Streamlit 会调整按钮的大小以适应其内容。如果 use_container_width 是 True,按钮的宽度将与其父容器的宽度匹配。 在这两种情况下,如果按钮的内容比父容器宽,内容将换行。 |
返回 | |
(bool) | 如果在上次运行应用程序时点击了按钮,则为True,否则为False。 |
示例
示例1:自定义按钮类型
import streamlit as st st.button("Reset", type="primary") if st.button("Say hello"): st.write("Why hello there") else: st.write("Goodbye") if st.button("Aloha", type="tertiary"): st.write("Ciao")示例 2:为按钮添加图标
虽然你可以通过Markdown向按钮添加图标,但icon参数是一个方便且一致的替代方案。
import streamlit as st left, middle, right = st.columns(3) if left.button("Plain button", use_container_width=True): left.markdown("You clicked the plain button.") if middle.button("Emoji button", icon="😃", use_container_width=True): middle.markdown("You clicked the emoji button.") if right.button("Material button", icon=":material/mood:", use_container_width=True): right.markdown("You clicked the Material button.")
Advanced functionality
虽然按钮是最简单的输入小部件,但按钮通常与st.session_state
的使用密切相关。请查看我们关于按钮行为和示例的高级指南。
Featured videos
查看我们的视频,了解如何使用Streamlit的核心功能之一,按钮!
在下面的视频中,我们将更进一步,学习如何结合button、checkbox和radio button!
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。