Currently, I'm trying to program a website using Streamlit,Python. In it, I'm using st.number_input to then calculate a value with a button. Since it's too cumbersome to change each value back to 0.0 (the default value), I now want to add a button that resets all values to 0.0 and also displays them as such on the website. While I can change the values, the website still displays the previous value I entered. Therefore, I want to ask if it's possible to change the values and have them reflected on the website as well.
Here is the code-snippit im using right now:
st.subheader('Pigments')
pigm_bayfer_yellow_420 = st.number_input('Bayferrox gelb 420:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_bayfer_red_110 = st.number_input('Bayferrox rot 110:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_hgn_green = st.number_input('HGN grün:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_pk_3095 = st.number_input('PK 3095:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_rkb06 = st.number_input('RKB06:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_u54 = st.number_input('U54:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
if col1.button('Calculate'):
#here i calculate the value
if col2.button('Reset'):
pigm_bayfer_yellow_420 = 0.0
pigm_bayfer_red_110 = 0.0
pigm_hgn_green = 0.0
pigm_pk_3095 = 0.0
pigm_rkb06 = 0.0
pigm_u54 = 0.0
As previously mentioned, I want to use the reset button to set all st.number_input values to 0.0 and have it displayed as such on the HTML/website. Unfortunately, they are not being set to 0.0 but instead remain at, for example, 0.888.
The most straightforward way to do this would be to set it up as a form and use the "clear_on_submit" option.
import streamlit as st
st.subheader('Pigments')
with st.form("my_form",clear_on_submit=True):
st.write("Inside the form")
pigm_bayfer_yellow_420 = st.number_input('Bayferrox gelb 420:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_bayfer_red_110 = st.number_input('Bayferrox rot 110:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_hgn_green = st.number_input('HGN grün:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_pk_3095 = st.number_input('PK 3095:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_rkb06 = st.number_input('RKB06:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
pigm_u54 = st.number_input('U54:', min_value=0.0, max_value=1.0,
step=0.00001, format='%.7f', value=0.0)
# Every form must have a submit button.
submitted = st.form_submit_button("Revert to 0")