I managed to find a python code where a slider widget is moved by code (increasing slider value every second). While it works (somewhat) the slider becomes is “jumping” when moved by the mouse, i need on average 2 times to put the slider to the new position where i want it to be, the slider tends to “jump” back to the original position, at least once.
Is there a way for a cleaner code that allows an auto-advancing slider to still be set by the mouse ?
Here is my code: (run locally)
import streamlit as st
import time
if 'slider_value' not in st.session_state:
st.session_state['slider_value'] = 0
def update_value():
if st.session_state['slider_value'] < 200:
st.session_state['slider_value'] += 1
slider = st.slider('Set a value', 0, 200, st.session_state['slider_value'])
if slider != st.session_state['slider_value']:
st.session_state['slider_value'] = slider
while st.session_state['slider_value'] < 200:
time.sleep(1) # automatic increase every full second
update_value()
st.rerun()