python 无法将侧栏与标准列一起使用

nqwrtyyt  于 2023-03-11  发布在  Python
关注(0)|答案(1)|浏览(99)

我正在建立一个流照明应用程序,我定义了圣列和侧边栏在我的代码。当我第一次点击按钮1,然后我检查侧边栏,我点击按钮1会消失,有没有办法,我可以保持他们两个?

col1, col2, col3 = st.columns([.4,.5,1])

m = st.markdown("""
<style>
div.stButton > button:first-child {
    background-color: rgb(0,250,154);
}
</style>""", unsafe_allow_html=True)

with col1:
    button1 = st.button('aa')

with col2:
    button2 = st.button('bb')

with col3:
    button3 = st.button('cc')

option_1 = st.sidebar.checkbox('x1', value=True)
option_2 = st.sidebar.checkbox('x2')
2g32fytz

2g32fytz1#

我无法使用st.button使其正常工作。您可以使用st.multiselect代替st.button,如下所示:

import streamlit as st

col1, col2, col3 = st.columns([.4,.5,1])

opts = st.multiselect("Options", ["aa", "bb", "cc"])

option_1 = st.sidebar.checkbox('x1', value=True)
option_2 = st.sidebar.checkbox('x2')

st.write(f"aa: {'aa' in opts}, bb: {'bb' in opts}, cc: {'cc' in opts}")
st.write(f"option_1: {option_1}, option_2: {option_2}")

这样,复选框和多选选项的状态不会在每次单击后重置。

如果您不希望将多个“aa”、“bb”和“cc”设置为True,则可以使用st.selectbox代替st.multiselect

相关问题