KJMAN678/streamlit_session
0
1import streamlit as st2import uuid3 4# クリックするたび数字が増える5st.subheader("1.クリックするたび数字が増える")6if 'count' not in st.session_state:7 st.session_state["count"] = 08 9if st.button("カウント", key=0):10 st.session_state["count"] += 111 12st.write("カウント", st.session_state["count"])13 14# ボタンを押した数だけテキストが増える15st.subheader("2.ボタンを押した数だけテキストが増える")16if 'increasement' not in st.session_state:17 st.session_state["increasement"] = 018 19if st.button("カウント", key=1):20 st.session_state["increasement"] += 121 22for i in range(st.session_state["increasement"]):23 st.write(f"ボタンを押した回数 {i+1} 回目分")24 25# テキストフィールドに入力したテキストの追加ボタン、削除ボタンを設置。26st.subheader("3.テキストフィールドの文字が、追加ボタンを押すと増え、削除ボタンを押すと消える")27text = st.text_input("表示したい単語を入力してください")28 29if 'text_list' not in st.session_state:30 st.session_state["text_list"] = []31 32col1, col2 = st.columns(2)33 34with col1:35 if st.button("追加", key=2):36 st.session_state["text_list"].append(text)37 38with col2:39 if st.button("削除", key=3): 40 st.session_state["text_list"].remove(text)41 42for output_text in st.session_state["text_list"]:43 st.write("", output_text)44 45# 綺麗に並んだテキスト(行数の表示あり)3つが、追加ボタンを押すと増え、削除ボタンを押すと消える46st.subheader("4.綺麗に並んだテキスト(行数の表示あり)3つが、追加ボタンを押すと増え、削除ボタンを押すと消える")47if 'add_container' not in st.session_state:48 st.session_state["add_container"] = 049 50col3, col4 = st.columns(2)51 52with col3:53 if st.button("追加", key=4):54 st.session_state["add_container"] += 155 56with col4:57 if st.button("削除", key=5):58 if st.session_state["add_container"] >= 1:59 st.session_state["add_container"] -= 160 61 62def add_container(row_num):63 with st.container():64 col1, col2, col3 = st.columns(3)65 66 with col1:67 st.write(f"This is left side in {row_num+1} row.")68 69 with col2:70 st.write(f"This is middle side in {row_num+1} row.")71 72 with col3:73 st.write(f"This is right side in {row_num+1} row.")74 75for i in range(st.session_state["add_container"]):76 add_container(i)77 78# ボタンを押すとヴィジェットを追加する79import uuid 80 81st.subheader("5.ボタンを押すとヴィジェットを追加する")82 83if 'unique_id' not in st.session_state:84 st.session_state["unique_id"] = []85 86col5, col6 = st.columns(2)87 88with col5:89 if st.button("追加", key=6):90 st.session_state["unique_id"].append(uuid.uuid1())91 92with col6:93 if st.button("削除", key=7):94 st.session_state["unique_id"].pop(-1)95 96for unique_id in st.session_state["unique_id"]:97 98 with st.container():99 col7, col8 = st.columns(2)100 101 with col7:102 slider_value = st.slider(103 "数値",104 min_value=0,105 max_value=14,106 value=0,107 key=unique_id108 )109 with col8:110 st.write("")111 st.write("")112 st.write(slider_value)