Search

Python GUI 개발

최근 진행하고 있는 과제로부터 Pytorch 모델의 GUI를 요청받았다.
이 포스트에서는 파이토치로 개발한 모델을 GUI로 구현하는 방법에 대해서 정리해보았다.

구현예제

Tensorflow Playground
가장 이상적인 데모 예제. ONNX와 js를 사용하였다.
구현난이도와 공수가 꽤 필요하다.
Google Colab
가장 구현하기 쉬운 예제.
코딩에 익숙한 사람에게는 구현도 사용도 모두 편하지만, 일반사람들에게는 직관적이지 않다.

라이브러리

Kivy
Python GUI Toolkit.
Electron
Electron Python 은 Electron (nodejs + chromium)을 zerorpc 를 통해 백엔드로 Python 3 과 대화하는 GUI 로 사용하는 코드 템플릿이다.
tkinter
가장 쉽고 빠르게 개발할 수 있다.
파이썬을 설치하면 기본적으로 딸려오는 라이브러리이기도 하다.
정말 간단한 프로그램 만들 때 사용한다.
못생겼다.
PyQt5
Qt는 플랫폼에 관계없이 다양한 기능을 포함하는 C++ 라이브러리이자 개발툴이며, PyQt5는 Qt5 어플리케이션 프레임워크에 대한 파이썬 버전이다.
PyQt5는 예쁜 GUI를 만들고 싶을 때, GUI 디자인을 자주 바꿀 거 같을 때 사용한다.
한국어 강의가 풍부하다.

결론

우리는 웹개발이 익숙하지 않은 파이썬 연구자들이기 때문에, 파이썬으로 작성이 가능한 라이브러리를 선택하는 것이 적절하다. 그 중에서도 한국어 강의가 풍부하고 GUI 커스터마이징이 가능한 PyQt5 로 개발하기로 결정하였다.