Streamlit/이론

142. [Python] [Streamlit] : Streamlit(스트림릿) 다양한 UI 함수 (2)

천재단미 2025. 2. 3. 15:55
728x90
반응형

UI함수1

반응형

 

 

 

 

목차 ▽열기

 

 

 

1. 이미지(Image) 파일 출력

 
 

from PIL import Image

 

먼저 이미지 처리를 위한라이브러리를 호출합니다.

 

 st.image()

 

import streamlit as st

# 이미지 처리를 위한 라이브러리
from PIL import Image

def main():
    # 1. 저장되어 있는 이미지 파일을 화면에 보여주기
    img = Image.open('./data/image_03.jpg')  # 이미지 파일 경로
    st.image(img, width=500)  # 이미지 너비를 500으로 설정하여 표시
    st.image(img, use_column_width=True)  # 화면 너비에 맞게 표시


if __name__ == '__main__':
    main()

스크린샷 2025-02-03 오후 1

 

출력

스크린샷 2025-02-03 오후 1

 

1-1.  응용 (인터넷 이미지 사용)

Image.open('파일경로') 저장되어 있는 이미지를 화면에 표시하거나

인터넷상에 있는 이미지를 화면에 표시할수 있습니다.

 

스크린샷 2025-02-03 오전 10

import streamlit as st

# 이미지 처리를 위한 라이브러리
from PIL import Image

def main():
   #2. 인터넷상에 있는 이미지 화면에 표시하는 방법 
    url = 'https://i.pinimg.com/originals/15/d0/20/15d020644130434c70f7391cb42e1a15.jpg'
    st.image(url, width=300)
    
    
if __name__ == '__main__':
    main()

 

 

 

출력

스크린샷 2025-02-03 오전 10

 

 

 

 

 

 


 

 

 

 

2. 동영상(Video) 파일 출력

 

 
 

st.video()

 

동영상을 화면에 표시합니다.

 

import streamlit as st



def main():
    #3. 동영상을 화면에 보여주기 
    video_file = open('data/video1.mp4', 'rb')
    st.video(video_file)
    
if __name__ == '__main__':
    main()

스크린샷 2025-02-03 오후 2

 

 

출력

 

 

 

 

 

 

 


 

 

 

 

 

3. 오디오(Audio) 파일 출력

 
 

st.audio()

 

오디오를 화면에 표시합니다.

 

import streamlit as st



def main():
    #4. 음악파일을 화면에 보여주기
    sound_file = open('./data/song.mp3','rb')
    st.audio(sound_file, format='audio/mp3')
    
if __name__ == '__main__':
    main()

스크린샷 2025-02-03 오후 2

 

 

출력

img

 

 

 

 

 


 

 

 

4. 유저한테 입력받는 Input

 

 
 

st.text_input()

 

text_input() 함수는 유저한테 문자를 입력받을때 사용합니다.

 

import streamlit as st

def main():
    # 1. 이름 입력받기 (한줄입력)
    st.subheader('사용자 입력')
    name = st.text_input('이름을 입력하세요.')
    print(name)
    st.text(name)
    
    
        # 2. 입력한 글자 수 제한
    st.subheader('주소 입력, 글자수 제한 ')
    address = st.text_input('주소를 입력하세요.', max_chars=20)
    st.text(address)

    
    if __name__ == '__main__':
    main()

스크린샷 2025-02-03 오후 3

 

출력

스크린샷 2025-02-03 오후 3
스크린샷 2025-02-03 오후 3
스크린샷 2025-02-03 오후 3
스크린샷 2025-02-03 오후 3

 

 

 

4-1. 여러행의 글자 입력받기

 

 
 

st.text_area()

 

유저에게 입력을 받을때 여러행을 입력받을수 있습니다.

 

 

import streamlit as st

def main():
    # 3. 여러행 입력하는 방법
    st.subheader('여러행 입력하는 방법')
    message = st.text_area('메세지를 입력하세요.', height=200)
    st.text(message)
    
    if __name__ == '__main__':
    main()

 

출력

화면 기록

 

 

 

 

 

4-2. 비밀번호 입력받기

import streamlit as st

def main():

   # 4. 비밀번호 입력 방법
    password = st.text_input('비밀번호를 입력하세요.', type='password')
    st.text(password)
    
    if __name__ == '__main__':
    main()

 

출력

img (1)

 

 

 

 

 

4-3. 숫자 입력받기

 
 

st.number_input()

 

숫자 정수와 실수를 입력받을수 있습니다.

 

import streamlit as st

def main():

    # 5. 숫자 입력 ( 정수 min_value=0, max_value=150)
    age = st.number_input('나이를 입력하세요.', min_value=0, max_value=150)

    # 6. 숫자 입력 (실수)
    height = st.number_input('키를 입력하세요.', min_value=0.0, max_value=250.0,step = 0.1)

if __name__ == '__main__':
    main()

스크린샷 2025-02-03 오후 9

 

 

 

출력

 

화면 기록 2025-02-03 오후 9

 

 

 

 

4-4. 날짜 입력받기

 
 

st.date_input()

 

스트림릿의 date_input() 함수로 유저가 달력에서 날짜를 선택하게 할수 있습니다.

 

import streamlit as st

def main():

    # 7. 날짜 입력
    my_date = st.date_input('생일을 입력하세요')
    print(my_date)
    print(type(my_date))
        # 요일 출력
    print(my_date.weekday())
    print(my_date.strftime('%A'))

    st.text(my_date.strftime('%A') + '입니다.')
    
    if __name__ == '__main__':
    main()

 

 

 

출력

화면 기록 2025-02-03 오후 9

 

 

 

 

 

 

 

 

 

4-4. 시간입력받기

 
 

st.time_input()

 

time_input() 함수로 유저에게 시간을 입력받을수 있습니다.

 

 

import streamlit as st

def main():

    # 8. 시간 입력
    my_time = st.time_input('시간을 입력하세요')
    print(my_time)

    st.text(my_time.strftime('%I:%M %p'))
    
    if __name__ == '__main__':
    main()

 

출력

img (2)

 

 

 

728x90
반응형
home
}