반응형
Streamlit
Button
기본적인 사용법
import streamlit as st
st.title("Streamlit Test")
input_user_name = st.text_input(label="User Name", value="default value")
if st.button("Confirm"):
con = st.container()
con.caption("Result")
con.write(f"Hello~ {str(input_user_name)}")
st.button() 은 True, False 를 리턴합니다.
btn_clicked = st.button("Confirm")
st.write(btn_clicked)
클릭하기 전(페이지 로딩)에는 False 를 찍고, 버튼을 클릭하면 True 를 찍습니다.
버튼 Disable
동의하기 등의 체크박스에 체크를 했을 경우 버튼을 누를 수 있도록 하는 방법입니다.
import streamlit as st
st.title("Streamlit Test")
input_user_name = st.text_input(label="User Name", value="")
checkbox = st.checkbox('agree')
btn_clicked = st.button("Confirm", key='confirm_btn', disabled=(checkbox is False))
if btn_clicked:
con = st.container()
con.caption("Result")
con.write(f"Hello~ {str(input_user_name)}")
입력된 텍스트 체크
if btn_clicked:
con = st.container()
con.caption("Result")
if not str(input_user_name):
con.error("Input your name please~")
else:
con.write(f"Hello~ {str(input_user_name)}")
on_click
on_click 으로도 위와 같은 기능을 구현할 수 있습니다.
import streamlit as st
def on_button_click():
st.session_state.error_message = ''
st.session_state.result_message = ''
if not str(st.session_state.user_name):
st.session_state.error_message = "Input your name please~"
else:
st.session_state.result_message = f"Hello~ {str(st.session_state.user_name)}"
st.title("Streamlit Test")
input_user_name = st.text_input(label="User Name", key='user_name', value="")
checkbox = st.checkbox('agree')
st.button("Confirm", key='confirm_btn', disabled=(checkbox is False), on_click=on_button_click)
con = st.container()
con.caption("Result")
if 'error_message' in st.session_state and st.session_state.error_message:
con.error(st.session_state.error_message)
if 'result_message' in st.session_state and st.session_state.result_message:
con.write(st.session_state.result_message)
session_state 를 사용했는데요.
요건 다음 포스트에서 간단히 설명 하겠습니다.
728x90
반응형
'Python' 카테고리의 다른 글
[Python] AttributeError: 'NoneType' object has no attribute 'bytes' 오류 해결 (0) | 2022.03.16 |
---|---|
[Python] [Streamlit 사용법] 4. session_state (0) | 2022.02.22 |
[Python] matplotlib.pyplot 을 이용해서 line chart 만들기 (0) | 2022.02.20 |
[Python] matplotlib.pyplot 을 이용해서 pie chart 이미지로 만들기 (0) | 2022.02.20 |
[Python] [Streamlit 사용법] 2. input_text (0) | 2022.02.17 |
댓글