Streamlit에서 레이아웃는 애플리케이션의 외관과 구성을 보다 효율적으로 관리하고 구조화하는데 사용되는 기능들입니다. Streamlit은 기본적으로 단일 페이지를 지원하지만 Streamlit에서 제공하는 기능들을 통해 여러 개의 컬럼으로 레이아웃을 나눌 수 있으며, 각 컬럼에 요소를 배치하여 UI를 효과적으로 구성할 수 있습니다. 또한 특정 요소들을 묶어서 스타일링이나 레이아웃 관리를 용이하게 할 수 있습니다.
레이아웃 구성을 통해 애플리케이션을 보다 구조화하고 사용자 경험을 개선하는데 유용합니다. 애플리케이션의 디자인을 효율적으로 구성하고 관리하면서, 사용자가 보다 쉽고 편리하게 이용할 수 있도록 도와줍니다.
사이드 바를 생성하여 요소들을 사이드 바 구성에 추가할 수 있습니다. 작성된 요소들은 왼쪽에 고정되어 사용자가 콘텐츠에 집중할 수 있습니다. 이때, 사이드바의 크기를 오른쪽 테두리를 드래그 앤 드롭하여 크기를 조정하실 수 있습니다.
st.sidebar
객체 표기법과 with 표기법을 사용하여 요소를 전달할 수 있습니다.
st.sidebar
객체 표기법
st.sidebar.widget_name
st.echo
, **st.spinner
**은 객체 표기법을 지원하지 않습니다. 이 경우에는 with 표기법을 사용해 주세요.
with 표기법
with st.sidebar:
st.widget_name
예시
다음 예시는 사이드 바에 **st.selectbox
**와 st.checkbox
위젯과 st.echo
, **st.spinner
**를 추가한 예시입니다.
import streamlit as st
import time
add_selectbox = st.sidebar.selectbox("어떤 차트를 조회할까요?",
("막대", "꺾은선", "히스토그램", "히트맵"))
with st.sidebar:
st.checkbox("제목")
st.checkbox("축제목")
st.checkbox("눈금선")
st.checkbox("범례")
with st.sidebar:
with st.echo():
st.write("코드 블록 입니다.")
with st.spinner("Loading..."):
time.sleep(5)
st.success("끝!")