简介:本文将介绍如何在Streamlit应用中创建多个按钮,并通过这些按钮收集用户输入,实现多参数交互。
在Streamlit应用中,我们经常需要与用户进行交互,收集他们的输入并根据这些输入执行某些操作。有时,我们可能需要用户输入多个参数。为了实现这一点,我们可以使用Streamlit的按钮组件来收集用户的输入。
下面是一个简单的示例,展示了如何在Streamlit应用中创建多个按钮,并通过这些按钮收集用户输入。
首先,确保你已经安装了Streamlit。如果没有,请通过运行以下命令来安装:
pip install streamlit
然后,创建一个新的Python文件(例如multi_button_input.py
),并添加以下代码:
import streamlit as st
# 初始化参数
param1 = ''
param2 = ''
param3 = ''
# 创建按钮
def on_button_click1():
global param1
param1 = st.session_state.get('param1', '')
def on_button_click2():
global param2
param2 = st.session_state.get('param2', '')
def on_button_click3():
global param3
param3 = st.session_state.get('param3', '')
# 创建按钮并绑定点击事件
with st.form('form1'):
st.write('输入参数1:')
st.text_input('param1', value=param1, key='param1')
st.button('确定', on_click=on_button_click1)
with st.form('form2'):
st.write('输入参数2:')
st.text_input('param2', value=param2, key='param2')
st.button('确定', on_click=on_button_click2)
with st.form('form3'):
st.write('输入参数3:')
st.text_input('param3', value=param3, key='param3')
st.button('确定', on_click=on_button_click3)
# 显示参数
st.write('你输入的参数是:')
st.write('参数1:', param1)
st.write('参数2:', param2)
st.write('参数3:', param3)
在这个示例中,我们创建了三个表单,每个表单都有一个文本输入框和一个按钮。当用户点击按钮时,会触发相应的回调函数,将文本输入框中的值保存到全局变量中。
注意,我们使用st.session_state
来保存用户输入的值。st.session_state
是一个特殊的字典,用于在Streamlit会话中保存和恢复数据。
要运行此应用,请在命令行中导航到包含multi_button_input.py
文件的目录,并运行以下命令:
streamlit run multi_button_input.py
然后,在浏览器中打开显示的URL,你将看到Streamlit应用界面。在这里,你可以分别输入三个参数的值,并通过点击相应的按钮来提交输入。应用的底部将显示你输入的所有参数值。
这只是一个简单的示例,你可以根据自己的需求进行扩展和修改。希望这能帮助你理解如何在Streamlit中使用多个按钮来收集多参数输入!