본문 바로가기
Python

[Python] KivyMD를 사용하여 GUI application 만들기

by llHoYall 2022. 9. 9.

KivyMDKivy framework기반의 GUI 개발에 도움을 주는 framework입니다.

MD는 Material Design을 뜻합니다.

이번 포스팅에서는 Python을 활용하여 간단한 사용법을 알아보겠습니다.

Installation

pip를 사용하여 다음의 명령으로 간단히 설치를 할 수 있습니다.

$ pip install kivymd

이제 사용 준비는 모두 끝났습니다.

첫 번째 앱 만들기

간단한 코드로 첫 번째 application을 만들어 보겠습니다.

from kivymd.app import MDApp
from kivymd.uix.label import MDLabel


class MainApp(MDApp):
    def build(self):
        return MDLabel(text="Hello, World", halign="center")


MainApp().run()

Label component만 하나 있는 간단한 app입니다.

build method에서 label을 하나 만들어 반환합니다.

실행을 시켜보면 아름다운(?) app이 쉽게 만들어진 것을 확인하실 수 있습니다.

원하는 문자열이 화면 중앙에 잘 나오죠?

조금 더 복잡한 앱 만들기

이번엔 앱에 기본적으로 필요한 버튼을 만들어 보겠습니다.

from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivymd.uix.button import MDRectangleFlatButton


class MainApp(MDApp):
    def build(self):
        self.theme_cls.theme_style = "Dark"
        self.theme_cls.primary_palette = "Orange"

        return (
            MDScreen(
                MDRectangleFlatButton(
                    text="Hello, World",
                    pos_hint={"center_x": 0.5, "center_y": 0.5},
                )
            )
        )


MainApp().run()

역시나 build method에서 Screen component를 만들고 Button component를 하나 배치하고 반환합니다.

이펙트까지 추가된 멋진 button이 손쉽게 추가되었습니다.

Android Application 만들기

KivyMD의 멋진 점은 Python으로 mobile application도 만들 수 있게 해준다는 점입니다.

먼저, android application을 만들어 봅시다.

 

이를 도와줄 도구를 설치하고, 설정까지 해줍니다.

$ pip install buildozer
$ buildozer init

이제, buildozer.spec 파일이 생겼을겁니다.

이 파일을 원하는 내용으로 적절히 편집해 줍니다.

 

다음으로, 필요한 도구를 준비합니다.

사전에 Android SDK가 설치되어 있어야 하니, 설치를 먼저 해주세요.

https://developer.android.com/about/versions/10/setup-sdk

JRE도 필요하니 없으신 분들은 설치를 해주세요.

혹시나 Cython이 없다고 에러가 발생하시면 이것도 역시 설치해주셔야 합니다.

$ pip install Cython

 

마지막으로, android용으로 build 후, 실행을 시켜줍니다.

$ buildozer android debug deploy run

iOS Application 만들기

다음으로 iOS application을 만들어 봅시다.

마찬가지로, 사전에 필요한 도구들이 없다면 설치를 해줍니다.

$ brew install autoconf automake libtool pkg-config
$ brew link libtool
$ pip install Cython
$ pip install kivy-ios

이제, build를 합니다.

$ toolchain build kivy

한참을 기다리면 build가 완료됩니다.

다음으로, xcode project를 생성합니다.

$ toolchain create <title> <app_directory>

원하는 이름으로 원하는 폴더에 생성됩니다.

지정한 폴더로 가시면 .xcodeproj가 생성되어 있습니다. 이것을 xcode로 열어주시고 iOS app 개발하듯이 하시면 됩니다.

Desktop Application 만들기

Desktop app은 많이들 사용해 오셨을 pyinstaller를 사용하여 손쉽게 만들 수 있습니다.

$ pip install pyinstaller
$ pyinstaller main.py -w --onefile

물론 main.py은 자신의 파일로 바꿔주셔야 하는 거 아시죠?!

잘 되지 않을 경우, 다음의 도구들을 설치해주세요.

$ brew reinstall --build-from-source sdl2 sdl2_image sdl2_ttf sdl2_mixer

맺음말

패키징에 대해 좀더 자세히 알고 싶으신 분은 공식 홈페이지를 참고해 보세요.

https://kivy.org/doc/stable/guide/packaging.html

 

개인적으로 인텔맥미니에서 작업을 했는데 필요한 도구들도 많고, 기존 도구들 업데이트도 해야하고, 빌드도 해야하고... 이 모든 것들이 몇 시간씩 걸리다보니 컴터를 바꾸고 싶은 생각까지 들더라고요. ㅠ

 

이상으로 KivyMD의 사용에 대해 가볍게 알아봤습니다.

도움이 되셨기를 바랍니다. 😄

'Python' 카테고리의 다른 글

[Python] KivyMD - MDIcon  (0) 2022.09.28
[Python] KivyMD - MDLabel  (0) 2022.09.27
[Python] Using PostgreSQL  (0) 2022.05.19
[Python] Using Telegram Bot API  (0) 2022.05.13
[Python] Usage of .env  (0) 2022.04.23

댓글