Kivy 시작하기 3 (Kv 언어에 대해서)

사용 버전: Python 3.6.8, Kivy 1.11.1
사용 프로그램: Atom 1.42.0 x64
​
Kivy에는 디자인을 위한 언어가 따로 존재합니다.
Kv라는 언어인데요.

이번 시간에는 Kv 언어에 대해서 잠깐 보겠습니다.

​
kv 언어는 '.kv'라는 확장자를 가지고 있습니다.
​
App을 상속받은 class의 이름을 따라 소문자로 파일을 만들면 자동으로 로드됩니다.
예) class TestApp(App):일 시, test.kv로 작성.
​
또는 Builder를 사용하여, 직접 로드할 수 있습니다.
Builder.load_file('파일/경로/test.kv')
​
그리고 Kv 언어는 하나의 root Widget만을 가지고, 일반 Widget은 숫자 상관없이 가질 수 있습니다.




root Widget은 다음과 같이 표기합니다.
Widget:
​
일반 class는 다음과 같이 표기합니다.
<MyWidget>:
​
그리고 파이썬의 모듈을 사용하고 싶다면 다음과 같이 사용합니다. import numpy as np
#:import np numpy
​
하위 Widget들은 들여 쓰기로 구분하고 그냥 단순하게 : 만 붙입니다.
Widget:
childWidget:
​
<MyWidget>:
MychildWidget:
​
그리고 Widget의 이름은 대문자로 시작해야 하고, 속성의 이름은 소문자로 시작해야 합니다.
상위 Widget에 id를 부여하면, id로 다른 Widget의 상태에 접근할 수 있습니다. 하지만, 상위 Widget 밖의 Widget에서는 접근할 수 없습니다.
​
상속을 하려면, @를 사용합니다.
<MyWidget@Button>:
​
여기까지가 대략적인 설명이고, 실제로 작성해 보겠습니다.
​
Kivy 시작하기 2에서 사용한 코드를 변형해보겠습니다.


​
이 코드를 kv 언어를 사용하여 변경하면 다음과 같습니다.
같은 폴더에 파일을 만듭니다.





실행하면 동일한 결괏값을 보여줍니다.


​
​
이처럼 kv 언어를 사용하면, 디자인 요소는 kv 파일로 옮길 수 있어, 더욱 깔끔하게 코딩할 수 있습니다.

코드:
​https://github.com/shwoghk14/Kivy_for_Starter


앱:
https://play.google.com/store/apps/details?id=starlight.jaehwa.one

끝.



카테고리: BlackSmith, Kivy

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

KiCad 시작하기 3 (새로운 소자 추가하기)

일본어 문장부호

음악 총보(Score), 파트보(Part)

KiCad 시작하기 2 (PCB 만들기)

Python OpenCV 빈 화면 만들기

KiCad 시작하기 1 (회로도 만들기)

Kivy 시작하기 6 (상단 바 팝업 만들기)

딩기 요트 명칭

Android Custom IME(Input method editor) 만들기