我想创建一个简单的流光应用程序,当您按下按钮时,它会增加 x 并显示 x 的新值。
但是,它仅适用于第一次“x 仅显示值 2 并且不增加”
import streamlit as st
x = 1
if st.button("Increment x"):
x=x+1
st.text(x)
我想创建一个简单的流光应用程序,当您按下按钮时,它会增加 x 并显示 x 的新值。
但是,它仅适用于第一次“x 仅显示值 2 并且不增加”
import streamlit as st
x = 1
if st.button("Increment x"):
x=x+1
st.text(x)
每次您进行更改/交互时,Streamlit 都会重新运行网页脚本。因此,每次单击按钮时,它都会重置 x=1,然后将 x 加 1。
您的按钮工作正常,问题在于 streamlit 处理事件的方式。您可以尝试使用 st.cache 来解决此问题,但我从未尝试过复制您的目标。
https://gist.github.com/tvst/036da038ab3e999a64497f42de966a92
嘿,这个包裹对我来说很神奇。
将代码下载到您正在处理的同一文件夹中并繁荣:
import SessionState
ss = SessionState.get(x=1)
if st.button("Increment x"):
ss.x = ss.x + 1
st.text(ss.x)