Kivy+Python의 멀티플랫폼 GUI 응용 프로그램 개발 시도
TL;DR
PyQt(라이선스든 SAN 값이든)가 대폭 소모되고, Kivy를 사용하면 QOD(Quality of Developing)가 높아진다.
Kivy 소개
kivy는 파이톤에서 다중 플랫폼을 지원하는 GUI 응용 프로그램을 만드는 데 사용되는 프로그램 라이브러리입니다.
키비는 MIT 라이선스에 오픈소스로 개발됐기 때문에 Qt 등과 비교해 라이선스에서도 즐겁다.Qt의 경우 좋지 않은 기호인 LGP Lv3 기호가 생겨 회사에서 코드를 쓸 때 골치가 아프다.하지만 Kivy를 사용하면 비즈니스용 멀티플랫폼 GUI 앱 개발 비용을 대폭 절감할 수 있다.대단해!
또한 OpenGL을 사용한 렌더링으로 GPU의 혜택을 누릴 수 있습니다.
참고로 Kivy가 제작한 프로그램은 다음과 같은 장치에 대응할 수 있다(대단하다)
kivy는 파이톤에서 다중 플랫폼을 지원하는 GUI 응용 프로그램을 만드는 데 사용되는 프로그램 라이브러리입니다.
키비는 MIT 라이선스에 오픈소스로 개발됐기 때문에 Qt 등과 비교해 라이선스에서도 즐겁다.Qt의 경우 좋지 않은 기호인 LGP Lv3 기호가 생겨 회사에서 코드를 쓸 때 골치가 아프다.하지만 Kivy를 사용하면 비즈니스용 멀티플랫폼 GUI 앱 개발 비용을 대폭 절감할 수 있다.대단해!
또한 OpenGL을 사용한 렌더링으로 GPU의 혜택을 누릴 수 있습니다.
참고로 Kivy가 제작한 프로그램은 다음과 같은 장치에 대응할 수 있다(대단하다)
설치 방법
Windows
※ 아래 설치 단계에서 "Permission denied"등의 오류가 발생하면 관리자 권한으로 명령 프롬프트를 실행합니다.
1. pip 등 최신 업데이트 명령
python -m pip install --upgrade pip wheel setuptools
2. 종속 라이브러리 가져오기
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy.deps.gstreamer
MemoryError가 나타날 때
pip install
이후에 -no-chache-dir
플래그를 추가하여 다시 실행하십시오.python -m pip install –no-cache-dir --upgrade pip wheel setuptools
파이썬 버전 3.5 이상일 때
glew
를 백엔드로 사용하려면 다음 명령을 사용하십시오.python -m pip install kivy.deps.angle
3. kivy 호스트 설치
python -m pip install kivy
4. (필요한 사람) 샘플 프로그램 설치
python -m pip install kivy_examples
샘플 프로그램은 Python이 설치된 폴더angle
의 폴더 아래에 설치되어 있습니다.
실제 시작할 때 다음 방법으로 경로 시작을 직접 지정하십시오.python share\kivy-examples\demo\showcase\main.py
Mac의 한쪽
※macOSX v10.7Lion 이후(32비트 제외) 사용자, 키비 측은 개발에 필요한 psyhon3의 개발 환경과 각종 포장share
의 포장을 제공한다.공식 사이트부터 시작하십시오.
1. Homebrew를 통해 필요한 라이브러리 설치
brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
2. PyPI를 통해 Cython 설치
pip install Cython==0.26.1
3. kivy 호스트 설치
※ [2018/5/1] 현재 PyPI 창고를 통해 설치하면 Kivy.app
의 상수 사용 위치에서 건물이 떨어집니다.따라서 키비의 마스터(dev version)를 나쁜 순서로 설치했다.세부 정보 - https://github.com/kivy/kivy/pull/5459pip install https://github.com/kivy/kivy/archive/master.zip
Linux의 경우
LINUx의 경우 발행 절차에 따라 절차가 매우 복잡하고 특수하니 자세한 내용은 공식 문서를 참조하십시오.
창 표시
kivy 응용을 구성하는 최소한의 코드는 다음과 같다.
main.pyfrom kivy.app import App
from kivy.uix.widget import Widget
class MainWindow(Widget):
pass
class HelloWorldApp(App):
def build(self):
return MainWindow()
if __name__ == '__main__':
HelloWorldApp().run()
그러면 다음과 같은 검정색 창이 나타납니다.이렇게 되면kivy 응용 프로그램이 만들어집니다.
공식 강좌
정식 튜토리얼로는'퐁'으로 불리는 탁구 게임을 만드는 튜토리얼이 공개됐다.
관심 있으신 분들은 해보세요.
참고 문헌
Reference
이 문제에 관하여(Kivy+Python의 멀티플랫폼 GUI 응용 프로그램 개발 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/musaprg/items/7c2fc192d00189bea0dc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
python -m pip install --upgrade pip wheel setuptools
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy.deps.gstreamer
python -m pip install –no-cache-dir --upgrade pip wheel setuptools
python -m pip install kivy.deps.angle
python -m pip install kivy
python -m pip install kivy_examples
python share\kivy-examples\demo\showcase\main.py
brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
pip install Cython==0.26.1
pip install https://github.com/kivy/kivy/archive/master.zip
kivy 응용을 구성하는 최소한의 코드는 다음과 같다.
main.py
from kivy.app import App
from kivy.uix.widget import Widget
class MainWindow(Widget):
pass
class HelloWorldApp(App):
def build(self):
return MainWindow()
if __name__ == '__main__':
HelloWorldApp().run()
그러면 다음과 같은 검정색 창이 나타납니다.이렇게 되면kivy 응용 프로그램이 만들어집니다.공식 강좌
정식 튜토리얼로는'퐁'으로 불리는 탁구 게임을 만드는 튜토리얼이 공개됐다.
관심 있으신 분들은 해보세요.
참고 문헌
Reference
이 문제에 관하여(Kivy+Python의 멀티플랫폼 GUI 응용 프로그램 개발 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/musaprg/items/7c2fc192d00189bea0dc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kivy+Python의 멀티플랫폼 GUI 응용 프로그램 개발 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/musaprg/items/7c2fc192d00189bea0dc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)