代码之家  ›  专栏  ›  技术社区  ›  Quinten

提交表单内的列布局流光溢彩

  •  0
  • Quinten  · 技术社区  · 6 月前

    我想要两个 selectbox 元素并排在 st.form 使用 st.columns 布局不幸的是,选择框的格式不正确。以下是一些可复制的代码:

    import streamlit as st
    
    st.header("Selectbox side by side in form")
    
    col1, col2 = st.columns(2)
    
    with st.form('Form1'):
        col1.selectbox("Select track",  ["track 1", "track 2"])
        col2.selectbox("Select track 2",  ["track 1", "track 2"])
        st.slider("Select your race finish position", 1, 12, key="number")
        st.form_submit_button('Submit your race')
    

    输出

    enter image description here

    正如你所看到的,选择框不符合我的要求。如果你只使用一个选择框,它当然在表单中,但我希望有两个并排的选择框。所以我想知道是否有人在streamlight中如何在窗体内使用列布局?

    1 回复  |  直到 6 月前
        1
  •  1
  •   Timeless    6 月前

    这个 columns 需要创建容器 在内部 这个 form 的上下文管理器:

    import streamlit as st
    
    st.header("Selectbox side by side in form")
    
    with st.form("Form1"):
        col1, col2 = st.columns(2) # << here
        col1.selectbox("Select track", ["track 1", "track 2"])
        col2.selectbox("Select track 2", ["track 1", "track 2"])
        st.slider("Select your race finish position", 1, 12, key="number")
        st.form_submit_button("Submit your race")
    

    enter image description here