inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기

Button, Checkbox 위젯

button과 checkbox 조건문과 함수

해결된 질문

324

TEW_교육관리자

작성한 질문수 6

0

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

python pandas seaborn plotly matplotlib data-visualization streamlit

답변 1

1

박가네 데이터랩

안녕하세요.

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

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

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

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

프롬프트의 영문 버전을 만들 때, 출력 규칙에 포함된 한글 부분은 영어로 번역하지 않고 그대로 유지하면서, 영문 편과 한글 편을 한 번에 함께 출력하려면 어떤 워크플로우로 구성하면 좋을까요?

0

6

0

프로그램은 뭘 사용하시는 건가요??

1

10

2

수업자료와 노션 공유 문제

0

16

3

python run.py 실행시 에러 문제

1

27

2

조건 반복문 질문: for 문 ?

0

21

0

54강 4분 41초에서 질문 있어요.

0

18

1

커서창

1

30

2

강의 제작

1

34

1

23강 질문드립니다, 강사님.

0

22

1

import

0

17

1

45강 예제4번에서 질문 있어요!

0

28

1

45강 강의 10분 03초 내용에서 x + 1 을 하는 이유는 뭔가요?

0

23

1

Json.stringify 관련 오류일까요?

0

23

2

3강, 7강 화면이 안나옵니다. 그냥 검은화면으로만 노출되요;;

0

27

1

cursor 환경

1

36

2

Gradio 실행 시 에러 발생 문의

0

33

2

Gradio 실행 시 Jinja2 / ASGI TypeError: unhashable type: 'dict' 에러 문의

0

37

2

안녕하세요, 강의자료 요청드립니다

0

25

1

data download 문의

1

203

3

filter, rename axis 기본값

0

164

1

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

0

264

1

annot 수치 표현

0

359

1

groupby 경고 질문

0

1434

1

print()

0

288

1