> 백엔드 개발 > 파이썬 튜토리얼 > 간소화된 부품 상태 요소

간소화된 부품 상태 요소

Barbara Streisand
풀어 주다: 2024-12-14 05:30:14
원래의
173명이 탐색했습니다.

Streamlit Part Status Elements

Streamlit 파트 8: 상태 요소에 다시 오신 것을 환영합니다! 이번 회에서는 작업 중 시각적 피드백을 제공하여 앱의 사용자 경험을 향상시키기 위해 Streamlit이 제공하는 다양한 상태 요소에 대해 자세히 살펴보겠습니다.

아직 Streamlit을 st로 가져오지 않았다면 페이지를 구성하고 따라갈 프레임워크를 배치하는 것이 좋습니다. 터미널에 streamlit run app.py를 입력하여 앱을 실행하고 시작해 보겠습니다.

진행률 표시줄 구현

우리가 살펴볼 첫 번째 상태 요소는 진행률 표시줄입니다. 이는 데이터 처리나 복잡한 계산과 같이 장기 실행 작업의 진행 상황을 시각적으로 표시하는 좋은 방법입니다.

Streamlit에서 진행률 표시줄을 만들려면:

  1. 진행률 표시줄과 함께 표시할 텍스트를 정의하세요.
  2. st.progress()를 사용하여 초기화하세요.
  3. 진행 상황을 시뮬레이션하기 위해 for-loop를 만들고 업데이트를 시각화하기 위해 절전 지연을 추가합니다.
progress_text = "Operation in progress. Please wait."
my_bar = st.progress(value=0, text=progress_text)

for percent_complete in range(100):
    time.sleep(0.01)
    my_bar.progress(percent_complete + 1, text=progress_text)

time.sleep(0.5)
my_bar.empty()  # Clears the progress bar

로그인 후 복사
로그인 후 복사

앱을 대화형으로 만들려면 사용자가 진행률 표시줄을 다시 실행할 수 있도록 앱을 다시 로드하는 재실행 버튼을 추가하는 것이 좋습니다.

st.button("Rerun")

로그인 후 복사
로그인 후 복사

상태 및 성공 요소 탐색

다음은 성공 바입니다. 이는 성공적인 결과나 작업 완료를 표시하는 데 사용될 수 있습니다.

st.success("This is a status message!", icon="✅")

로그인 후 복사

작업이 원활하게 진행되는 모습을 사용자에게 보여주는 간단하면서도 효과적인 방법입니다!

작업에 스피너 사용

스피너는 백그라운드에서 무언가가 실행 중임을 나타내는 좋은 방법입니다. 이는 인터페이스를 차단하지 않고 사용자에게 정보를 제공하려는 경우 특히 유용합니다.

with st.spinner("In progress..."):
    time.sleep(1.5)

st.success("Done!")

로그인 후 복사

이 코드는 time.sleep() 함수가 실행되는 동안 스피너를 표시한 다음 완료되면 성공 메시지를 표시합니다.

오류 및 경고 처리

오류 시나리오나 경고를 처리하려면 각각 st.error() 및 st.warning()을 사용할 수 있습니다. 이러한 기능을 사용하면 문제를 매우 쉽게 명확하게 전달할 수 있습니다.

st.error("This is an error message!")
st.warning("This is a warning message!")

로그인 후 복사

빨간색과 노란색 메시지가 표시되어 사용자가 오류와 경고를 쉽게 구분할 수 있습니다.

정보 및 예외 표시

일반 정보를 보려면 st.info()를 사용하세요. 상호작용 중에 유익한 메시지를 제공하는 데 유용합니다.

st.info("This is an info message!")

로그인 후 복사

추가로 예외를 표시해야 하는 경우(디버깅 목적으로) st.Exception()을 사용하세요. 이는 사용자나 개발자가 문제가 발생한 이유를 이해하도록 하려는 경우 유용할 수 있습니다.

try:
    raise Exception("This is an exception!")
except Exception as e:
    st.exception(e)

로그인 후 복사

전체 역추적을 표시하여 개발 중에 귀중한 컨텍스트를 제공합니다.

풍선과 눈으로 즐기는 즐거움

Streamlit은 앱에 재미있는 효과를 추가할 수 있는 몇 가지 기발한 기능도 제공합니다. 풍선을 사용하여 축하 분위기나 계절감을 더할 수 있습니다!

  • 풍선:
progress_text = "Operation in progress. Please wait."
my_bar = st.progress(value=0, text=progress_text)

for percent_complete in range(100):
    time.sleep(0.01)
    my_bar.progress(percent_complete + 1, text=progress_text)

time.sleep(0.5)
my_bar.empty()  # Clears the progress bar

로그인 후 복사
로그인 후 복사
  • :
st.button("Rerun")

로그인 후 복사
로그인 후 복사

이러한 효과는 순전히 시각적이지만 특별한 경우에는 앱에 재미있는 느낌을 더할 수 있습니다.

결론 및 다음 단계

이제 Streamlit 파트 8: 상태 요소가 끝났습니다! 이러한 요소는 사용자에게 뒤에서 일어나는 일에 대한 정보를 제공하고 전반적인 경험을 더욱 대화식으로 만드는 데 도움이 될 수 있습니다.

이 튜토리얼이 즐거웠기를 바랍니다! 다음편에서 만나요!


? 코드 받기: GitHub - jamesbmour/blog_tutorials
? 관련 Streamlit 튜토리얼:JustCodeIt
? 내 작업을 지원하세요: 커피 사주세요

위 내용은 간소화된 부품 상태 요소의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿