我正在构建一个streamlit应用程序,我定义了3个按钮。我有一个做不同事情的代码集。如果用户选择button1,它会做一些事情,如果用户选择button2,它应该执行代码的其他部分,并做一些其他事情。
我正在处理两个问题:
1-当我选择button2,然后选择slider,或者改变st.sidebar.checkbox中的选项时,这些都是在if中定义的,它什么也不做。
2-如何定义button2下的数据框,button2下的数据框也可以在button3下调用?
3-如果我在if button2之外定义slider和st.sidebar.checkbox,则1的问题将得到解决,但在if button2之外的内容也将显示在if button1中。
你能帮我进一步开发这个代码吗?
import streamlit as st
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('In')
with col2:
button2 = st.button('DA')
with col3:
button3 = st.button('Vi')
if button1:
write some intro text
if button2:
a data frame is generated here
there is slider and st.sidebar.checkbox defined in this part.
if button3:
use the data frame generated in button2 and plot
1条答案
按热度按时间h9vpoimq1#
您可能会改用
st.tabs
和st.cache_data
:它提供3个选项卡:
第一节第一节第一节第一节第一节第二节第一节
请参阅此处的
st.tabs
文档:https://docs.streamlit.io/library/api-reference/layout/st.tabs