系列目录
- 学习streamlit-1,简介
- 学习streamlit-2,st.write输出
- 学习streamlit-3,其它输出显示方法
- 学习streamlit-4,滑块
- 学习streamlit-5,图表
- 学习streamlit-6,选项框
- 学习streamlit-7,复选框
- 学习streamlit-8,组件
- 学习streamlit-9,密钥
- 学习streamlit-10,文件上传
- 学习streamlit-11,股票蜡烛图
- 学习streamlit-12,页面布局
- 学习streamlit-13,BMI计算应用
st.selectbox
今天学习streamlit中st.selectbox
的使用。
st.selectbox
是一个用来显示选择的组件,示例程序会问用户最喜欢的颜色:
- 用户选择一个颜色
- 打印输出选择的颜色
示例
代码
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()
有两个输入参数:
- 要在选择组件上显示的文本,在这个例子中是
'What is your favorite color?'
- 选项值,在这个例子中是
('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”,发现更多精彩内容。