Getting Started >> A first app (Kivy tutorial) 2 - Widget
https://kivy.org/docs/tutorials/firstwidget.html 위 튜토리얼에선 Widget을 집중적으로 설명하고 있다. Kivy에서 어플리케이션의 사용자 인터페이스는 모두 위젯으로 이루어져 있다. 위젯을 설계할 때 다음 세가지를 꼭 기억해야 한다. 1. What data does my application process? 2. How do I visually represent that data? 3. How does the user interact with that data? 위젯은 data를 가지고 있고, 그 데이터에 대한 사용자와의 상호 작용 방법을 정의한다. 그리고 그것을 시각적으로 표현한다. 제공되는 위젯으로 간단한 것 부터 복잡한 것 까지 다양한 위젯을 만들 수 있다. 위젯은 그 쓰임에 맞게 최소한의 기능으로 그리고 재사용성이 높게 만드는 것이 좋다. ( Single Responsibility Principle ) 어떤 기능이 더 필요할 때 위젯을 더 만들거나 작은 위젯들을 합쳐서 사용할 수 있다. Paint Widget ¶ [코드 1] 그냥 까만 화면만 나온다. [코드 2] 6,7 라인의 코드가 추가되었다. Pycharm으로 실행시키고 화면을 마우스로 클릭하면 pycharm의 하단 콘솔창에 그 지점의 좌표가 출력된다. [코드 3] 3번째 코드에서부터는 화면을 클릭하는 MotionEvent에 의한 반응이 화면에 나타나기 시작한다. 다음은 라인별 설명이다. Line 9: 위젯의 Canvas object를 사용할 때 with 을 사용한다. Canvas는 그릴 수 있는 영역이 되는 것이다. 들여쓰기가 올바르게 된 그리기 명령들은 canvas에 영향을 준다. 또 with 문을 사용했기 때문에 그리기 이후에 internal state가 적절히 깨끗해질 수 있다. (internal state가 뭐지?) Line 10: 다들 눈치 챘겠지만 RGB 값이다....