显示一个滑块小部件。
这支持int、float、date、time和datetime类型。
这也允许您通过传递一个包含两个元素的元组或列表作为value来渲染一个范围滑块。
st.slider 和 st.select_slider 的区别在于 slider 只接受数值或日期/时间数据,并以范围作为 输入,而 select_slider 接受任何数据类型,并以可迭代的 选项集作为输入。
注意
由于Python服务器和JavaScript客户端之间的序列化限制,小部件无法准确存储或返回超过+/- (1<<53) - 1的整数值。您必须将这些数字作为浮点数处理,这会导致精度损失。
函数签名[source] | |
---|---|
st.slider(label, min_value=None, max_value=None, value=None, step=None, format=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible") | |
参数 | |
label (str) | 一个简短的标签,向用户解释这个滑块的用途。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。 不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会呈现。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是一个有序列表"。 有关其他支持的Markdown指令,请参见st.markdown的body参数。 出于可访问性原因,您不应设置空标签,但可以根据需要使用label_visibility隐藏它。将来,我们可能会通过引发异常来禁止空标签。 |
min_value (支持的类型或None) | 允许的最小值。 如果值是整数,则默认为0;如果是浮点数,则默认为0.0; 如果是日期/日期时间,则默认为value - timedelta(days=14);如果是时间,则默认为time.min |
max_value (a supported type or None) | 允许的最大值。 如果值是整数,则默认为100;如果是浮点数,则默认为1.0; 如果是日期/日期时间,则为值 + timedelta(days=14);如果是时间,则为time.max |
value (支持的类型或支持类型的元组/列表或None) | 滑块首次渲染时的值。如果传递了一个包含两个值的元组/列表,则会渲染一个具有这些下限和上限的范围滑块。例如,如果设置为(1, 10),滑块将具有1到10之间的可选范围。默认值为min_value。 |
步长 (int, float, timedelta, 或 None) | 步进间隔。 如果值是整数,则默认为1;如果是浮点数,则默认为0.01; 如果是日期/日期时间,则默认为timedelta(days=1);如果是时间 (或者如果max_value - min_value < 1天),则默认为timedelta(minutes=15) |
format (str 或 None) | 一个 printf 风格的格式字符串,控制界面应如何显示数字。这不会影响返回值。 int/float 的格式化器支持:%d %e %f %g %i 日期/时间/日期时间的格式化器使用 Moment.js 表示法: https://momentjs.com/docs/#/displaying/format/ |
key (str or int) | 一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。 任何两个小部件都不能有相同的键。 |
help (str) | 一个可选的工具提示,显示在小部件标签旁边。 只有当label_visibility="visible"时,Streamlit才会显示工具提示。 |
on_change (callable) | 当此滑块的值发生变化时调用的可选回调函数。 |
args (tuple) | 传递给回调函数的可选参数元组。 |
kwargs (dict) | 一个可选的字典,用于传递给回调函数。 |
disabled (bool) | 一个可选的布尔值,如果设置为True,则禁用滑块。 默认值为False。 |
label_visibility ("visible", "hidden", or "collapsed") | 标签的可见性。默认是"visible"。如果这是"hidden",Streamlit会显示一个空的占位符而不是标签,这有助于保持小部件与其他小部件对齐。如果这是"collapsed",Streamlit不会显示标签或占位符。 |
返回 | |
(int/float/date/time/datetime or tuple of int/float/date/time/datetime) | 滑块小部件的当前值。返回类型将与值参数的数据类型匹配。 |
示例
import streamlit as st age = st.slider("How old are you?", 0, 130, 25) st.write("I'm ", age, "years old")这里是一个范围滑块的示例:
import streamlit as st values = st.slider("Select a range of values", 0.0, 100.0, (25.0, 75.0)) st.write("Values:", values)这是一个范围时间滑块:
import streamlit as st from datetime import time appointment = st.slider( "Schedule your appointment:", value=(time(11, 30), time(12, 45)) ) st.write("You're scheduled for:", appointment)最后,一个日期时间滑块:
import streamlit as st from datetime import datetime start_time = st.slider( "When do you start?", value=datetime(2020, 1, 1, 9, 30), format="MM/DD/YY - hh:mm", ) st.write("Start time:", start_time)
Featured videos
查看我们的视频,了解如何使用Streamlit的核心功能之一,滑块!
在下面的视频中,我们将更进一步,制作一个双端滑块。
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。