| 函数签名[source] | |
|---|---|
st.radio(label, 选项, index=0, format_func=special_internal_function, key=None, 帮助=None, on_change=None, args=None, kwargs=None, *, disabled=False, horizontal=False, captions=None, label_visibility="visible") | |
| 参数 | |
label (str) | 一个简短的标签,向用户解释这个单选按钮组的用途。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。 不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会呈现。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是一个有序列表"。 有关其他支持的Markdown指令,请参见st.markdown的body参数。 出于可访问性原因,您永远不应设置空标签,但您可以使用label_visibility隐藏它(如果需要)。将来,我们可能会通过引发异常来禁止空标签。 |
options (Iterable) | 选择选项的标签在一个Iterable中。这可以是一个 list、set,或者任何st.dataframe支持的内容。如果 options类似于数据框,将使用第一列。每个 标签默认情况下将在内部转换为str。 标签可以包含label参数中描述的markdown, 并且默认情况下将在内部转换为str。 |
index (int or None) | 首次渲染时预选选项的索引。如果为None,将初始化为空并返回None,直到用户选择一个选项。默认为0(第一个选项)。 |
format_func (function) | 用于修改单选选项显示的函数。它接收原始选项作为参数,并应输出该选项的显示标签。这对单选按钮的返回值没有影响。 |
key (str or int) | 一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。 任何两个小部件都不能有相同的键。 |
help (str) | 一个可选的小提示,显示在小部件标签旁边。 只有当label_visibility="visible"时,Streamlit才会显示这个小提示。 |
on_change (callable) | 当此单选按钮的值发生变化时调用的可选回调函数。 |
args (tuple) | 传递给回调函数的可选参数元组。 |
kwargs (dict) | 一个可选的字典,用于传递给回调函数。 |
disabled (bool) | 一个可选的布尔值,如果设置为True,则禁用单选按钮。默认值为False。 |
horizontal (bool) | 一个可选的布尔值,用于将单选按钮组水平排列。 默认值为 false(垂直排列按钮)。 |
captions (iterable of str or None) | 显示在每个单选按钮下方的标题列表。如果为 None(默认值),则不显示标题。 |
label_visibility ("visible", "hidden", or "collapsed") | 标签的可见性。默认是"visible"。如果这是"hidden",Streamlit会显示一个空白的间隔符而不是标签,这有助于保持小部件与其他小部件对齐。如果这是"collapsed",Streamlit不会显示标签或间隔符。 |
| 返回 | |
(any) | 选中的选项,如果没有选中任何选项则为None。 |
示例
import streamlit as st genre = st.radio( "What's your favorite movie genre", [":rainbow[Comedy]", "***Drama***", "Documentary :movie_camera:"], captions=[ "Laugh out loud.", "Get the popcorn.", "Never stop learning.", ], ) if genre == ":rainbow[Comedy]": st.write("You selected comedy.") else: st.write("You didn't select comedy.")要初始化一个空的单选小部件,请使用None作为索引值:
import streamlit as st genre = st.radio( "What's your favorite movie genre", [":rainbow[Comedy]", "***Drama***", "Documentary :movie_camera:"], index=None, ) st.write("You selected:", genre)
小部件可以通过label_visibility参数自定义如何隐藏它们的标签。如果设置为"hidden",标签不会显示,但在小部件上方仍然保留空白的空间(等同于label="")。如果设置为"collapsed",标签和空间都会被移除。默认值为"visible"。单选按钮也可以通过disabled参数禁用,并通过horizontal参数水平排列:
import streamlit as st
# Store the initial value of widgets in session state
if "visibility" not in st.session_state:
st.session_state.visibility = "visible"
st.session_state.disabled = False
st.session_state.horizontal = False
col1, col2 = st.columns(2)
with col1:
st.checkbox("Disable radio widget", key="disabled")
st.checkbox("Orient radio options horizontally", key="horizontal")
with col2:
st.radio(
"Set label visibility 👇",
["visible", "hidden", "collapsed"],
key="visibility",
label_visibility=st.session_state.visibility,
disabled=st.session_state.disabled,
horizontal=st.session_state.horizontal,
)
Featured videos
查看我们的视频,了解如何使用Streamlit的核心功能之一,单选按钮!🔘
在下面的视频中,我们将更进一步,学习如何结合按钮、复选框和单选按钮!
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。