Kivy 시작하기 11 (진행 바 만들기)
사용 버전: Python 3.6.8, Kivy 1.11.1
사용 프로그램: Atom 1.43.0 x64
진행 바만 만들면 기획한 것은 거의 다 했다고 볼 수 있습니다.
For progress 영역에 Progress를 넣어줍니다.
size_hint_y는 y에만 크기 비율을 주는 것이고, None을 사용하고, Height에 직접적인 고정 값을 줄 수도 있습니다.
ProgressBar 위젯은 진행 바를 제공합니다.
size_hint_x는 x에만 크기 비율을 줄 수 있습니다.
pos_hint는 해당 위젯이 표현될 위치를 비율로 나타냅니다.
들어가는 key 값으로는 center_x, center_y, x, y, left, right, top, bottom이 있습니다.
진행 바를 작동시키는 함수를 만듭시다.
이렇게 만들고 보면, cmd 창에서는 잘 작동됩니다.
하지만 App에서는 반응이 없습니다.
이것을 해결하려면, 드디어 Root Widget을 써야 할 것 같네요.
사실 사용해야 할 타이밍을 놓쳐서 App 클래스 만으로 버텨보려고 했는데, 안되겠네요.
RootWidget 용 클래스를 만듭니다.
kv 파일도 수정합니다.
id도 추가합니다.
실행하면 다음과 같이 됩니다.
하지만, 문제는 저장되는 동안 진행 바가 변하지 않는다는 것입니다.
그래서 우리는 thread를 사용할 생각입니다.
thread 함수를 추가했습니다.
self.root.ids['ContentArea'].ids['Save_Button'].disabled는 버튼 활성화, 비활성화를 조절할 수 있게 해줍니다.
잘 작동하는 것을 볼 수 있습니다.
끝.
앱:
https://play.google.com/store/apps/details?id=starlight.jaehwa.one
코드:
https://github.com/shwoghk14/Kivy_for_Starter
사용 프로그램: Atom 1.43.0 x64
기획: URL 소스 자료를 내 컴퓨터에 저장하는 앱.
진행 바만 만들면 기획한 것은 거의 다 했다고 볼 수 있습니다.
For progress 영역에 Progress를 넣어줍니다.
size_hint_y는 y에만 크기 비율을 주는 것이고, None을 사용하고, Height에 직접적인 고정 값을 줄 수도 있습니다.
ProgressBar 위젯은 진행 바를 제공합니다.
size_hint_x는 x에만 크기 비율을 줄 수 있습니다.
pos_hint는 해당 위젯이 표현될 위치를 비율로 나타냅니다.
들어가는 key 값으로는 center_x, center_y, x, y, left, right, top, bottom이 있습니다.
진행 바를 작동시키는 함수를 만듭시다.
이렇게 만들고 보면, cmd 창에서는 잘 작동됩니다.
하지만 App에서는 반응이 없습니다.
이것을 해결하려면, 드디어 Root Widget을 써야 할 것 같네요.
사실 사용해야 할 타이밍을 놓쳐서 App 클래스 만으로 버텨보려고 했는데, 안되겠네요.
RootWidget 용 클래스를 만듭니다.
kv 파일도 수정합니다.
id도 추가합니다.
실행하면 다음과 같이 됩니다.
하지만, 문제는 저장되는 동안 진행 바가 변하지 않는다는 것입니다.
그래서 우리는 thread를 사용할 생각입니다.
thread 함수를 추가했습니다.
self.root.ids['ContentArea'].ids['Save_Button'].disabled는 버튼 활성화, 비활성화를 조절할 수 있게 해줍니다.
잘 작동하는 것을 볼 수 있습니다.
끝.
앱:
https://play.google.com/store/apps/details?id=starlight.jaehwa.one
코드:
https://github.com/shwoghk14/Kivy_for_Starter
카테고리: BlackSmith, Kivy
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.