inflearn logo
강의

Course

Instructor

Let's leave work 5 minutes early! Python data analysis, visualization, and web dashboard creation

Button, Checkbox Widget

button과 checkbox 조건문과 함수

Resolved

291

edu5996

6 asked

0

버튼과 체크박스 모두 조건문을 사용할 때는 바로 아래에 텍스트가 출력되는데, 함수를 사용하면 대시보드 맨 위에 텍스트가 호출되는 것은 왜 그런건가요?(맨 위에 텍스트가 호출되어 출력된 부분이 전부 다 한 칸 씩 밀리게 됨)

python pandas seaborn plotly matplotlib data-visualization streamlit

Answer 1

1

datalabpark

안녕하세요.

조금 어려울 수 있는 내용인데요.

if 문을 통해 button 클릭에 대한 이벤트(write 함수)를 실행하게 되면 위에서 아래로 순서대로 실행되는 파이썬 코드의 특성 상 button 함수 다음으로 실행되는 함수가 write이기 때문에 텍스트가 버튼 아래에 위치하게 됩니다. 즉, button 함수 -> if문이 True인 상황에서 button 다음에 위치하는 write 함수 -> 나머지 코드 순으로 웹 대시보드 UI가 구성됩니다.

on_click 인자를 사용하는 경우에는 if문을 사용하는 경우와는 조금 다릅니다. 버튼의 클릭에 의해 on_click 인자가 활성화 되는 때는 이미 button 위젯을 포함하여 나머지 파이썬 코드가 실행되어 이미 웹 대시보드가 모두 구성된 상태입니다. 즉, button 함수 -> 나머지 코드 -> on click에 의한 write 함수 호출 순으로 실행됩니다.

이 때 streamlit은 웹 대시보드가 이미 구성된 상태에서 특정 동작에 의해 구성 요소를 추가하는 기본 위치가 위쪽이기 때문에 맨 위에 텍스트가 생성되는 것입니다.

작업형 1 유형 부분

0

9

1

수강평 이벤트

0

15

2

작업형 1 (삭제예정, 구 버전)

0

28

2

강의노트는 어디있나요?

0

15

1

노션 학습 자료 권한 요청

0

15

1

수강기간 연장 문의드립니다.

0

20

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

21

3

part2강의 문의사항입니다.

0

19

2

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

26

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

소리가 겹쳐서 들려요

0

19

2

데스크톱과 노트북 연결

0

26

1

dict, zip

0

21

2

노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.

0

27

4

6-6 실습 문의

0

23

2

미션 06-02

0

24

2

yes24 수집 md 파일 만들 때

0

24

2

data download 문의

1

152

3

filter, rename axis 기본값

0

157

1

학습 데이터 다운로드 경로 문의드립니다

0

254

1

annot 수치 표현

0

340

1

groupby 경고 질문

0

1376

1

print()

0

278

1