[파이썬/Python] Kivy를 사용해서 Python GUI 프로그래밍을 시작해보자 2
#Kivy Design Language
#.kv 파일
#Builder.load_file
Kv Design Language
Kivy는 GUI 프로그래밍을 할 수 있도록 도와준다고 했다.
그렇다면, GUI 요소들을 어떻게 Control할 수 있을까?
그래서 Kivy는 Kv Design Language라는 것을 제공하고 있다.
*.kv 확장자를 가지는 파일로 구성되고, 이 언어만의 규칙이 있다.
나도 처음 써보는 거라, 규칙같은 거 나도 잘 모른다.
그래서 그냥 무작정 해본다.
일단 이전 글에서 간단한 예제를 사용해서 Kivy 앱을 잠깐 만든 것이 있다.
그 예제를 다시 사용한다! 궁금한 분들은 아래 링크를 통해 확인하길 바란다!
우선 TestApp Class의 두 줄울 주석처리하고, pass만을 남긴다.
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
pass
#def build(self):
# return Button(text='Hello World')
TestApp().run()
그리고 TestApp Class의, App 앞의 글자와 이름은 동일하지만 소문자로 된 test라는 이름으로 .kv 확장자 파일을 동일 폴더에 생성한다.
그리고 아래와 같이 해당 파일의 내용을 작성한다.
test.kv
Label:
text: 'Hello World'
그리고는 다시 Python 파일을 실행해본다.
그러면 아래와 같이 이전에 실행해본 결과와 동일하게 화면 중간에 "Hello World"라는 문자열이 나오는 프로그램이 실행되는 것을 확인 할 수 있다.
Kv Design Language의 문법은 아직 잘 모르겠으나,
이로써, 디자인적인 부분과 실제 Python 소스코드를 분리하여 작성할 수 있게 된다.
위에서 본 것과 같이
kivy의 App을 상속받아 사용하는 Class 이름과 동일하게 작성하면, 자동으로 .kv 파일을 로드하게 됩니다.
하지만, 다른 이름으로 작성하거나, 다른 위치에 작성하고 싶다면 아래와 같이 해주면 됩니다.
from os.path import dirname
from os.path import join
from kivy.app import App
from kivy.lang import Builder
class TestApp(App):
def build(self):
return Builder.load_file(join(dirname(__file__), './noname.kv'))
def main():
TestApp().run()
if __name__ == "__main__":
main()
따라서 앞으로는 이렇게 작성하는 연습을 하면서, Kv Design Language도 익혀보도록 하자.
아래 Document 링크를 통해 익혀볼 수 있으니 참고하길 바란다!
이런 글은 어때요?
'#연구 > #Kivy' 카테고리의 다른 글
[파이썬/Python] Kivy 안드로이드 앱 APK Debug로 생성하기 (feat. buildozer) (5) | 2020.07.02 |
---|---|
[파이썬/Python] Kivy 로또 번호 생성하는 프로그램 만들기 #Kivy로 만드는 로또 번호 생성기 (0) | 2020.07.02 |
[파이썬/Python] Kivy 버튼 생성 및 클릭 시 이벤트 핸들링 처리하기 (0) | 2020.06.29 |
[파이썬/Python] Kivy Kv Design Language 구역 나누기 #Layout 설정하기 #색상 변경하기 (0) | 2020.06.28 |
[파이썬/Python] Kivy Python GUI 프로그래밍의 첫걸음, Kivy 설치 (0) | 2020.06.26 |