学习streamlit-6

系列目录

st.selectbox

今天学习streamlit中st.selectbox的使用。

st.selectbox是一个用来显示选择的组件,示例程序会问用户最喜欢的颜色:

  1. 用户选择一个颜色
  2. 打印输出选择的颜色

示例

示例应用

代码

import streamlit as st

st.header('st.selectbox')

option = st.selectbox(
     'What is your favorite color?',
     ('Blue', 'Red', 'Green'))

st.write('Your favorite color is ', option)

这段代码非常好理解,首先还是引入用到的库,然后创建一个标题:

import streamlit as st

st.header('st.selectbox')

接下来是今天学习的主角,我们创建了一个option变量,并把st.selectbox()获得的选择值传递给这个变量:

option = st.selectbox(
     'What is your favorite color?',
     ('Blue', 'Red', 'Green'))

如我们所见,st.selectbox()有两个输入参数:

  1. 要在选择组件上显示的文本,在这个例子中是'What is your favorite color?'
  2. 选项值,在这个例子中是('Blue', 'Red', 'Green')

最后,打印出选择值:

st.write('Your favorite color is ', option)

练习

创建一个程序,让用户选择联系方式。

效果:

代码:

import streamlit as st

option = st.selectbox(
    'How would you like to be contacted?',
    ('Email', 'Home phone', 'Mobile phone'))

st.write('You selected:', option)

label_visibility参数

选择组件可以通过传递label_visibility参数来控制组件标签的显示方式,如果把这个参数设为hidden,文本标签会隐藏,但是它占用的位置还在,效果与label=""相同;如果设为collapsed,则标签文本和占用的位置都会移除;这个参数默认值是visible

选择组件还可以通过传递disabled参数禁用。

示例:

代码:

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

col1, col2 = st.columns(2)

with col1:
    st.checkbox("Disable selectbox widget", key="disabled")
    st.radio(
        "Set selectbox label visibility 👉",
        key="visibility",
        options=["visible", "hidden", "collapsed"],
    )

with col2:
    option = st.selectbox(
        "How would you like to be contacted?",
        ("Email", "Home phone", "Mobile phone"),
        label_visibility=st.session_state.visibility,
        disabled=st.session_state.disabled,
    )

公众号 | FunIO
微信搜一搜 “funio”,发现更多精彩内容。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值