st.selectbox
今天学习streamlit中st.selectbox
的使用。
st.selectbox
是一个用来显示选择的组件,示例程序会问用户最喜欢的颜色:
示例应用
import streamlit as stst.header('st.selectbox')option = st.selectbox('What is your favorite color?',('Blue', 'Red', 'Green'))st.write('Your favorite color is ', option)
这段代码非常好理解,首先还是引入用到的库,然后创建一个标题:
import streamlit as stst.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 stoption = 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 = Falsecol1, 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,)