CoolFace
Apppublic

KJMAN678/streamlit_session

sourceHugging Faceupdated 5y agoView on Hugging Face
0likes
app.py112 linesDownload Raw Back to root
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)