반응형

파이썬에서 GUI 프로그램을 만들기 위해서 필요한 GUI 도구들을 알아본다.


1. Tkinter

Tkinter는 Tcl/Tk에 대한 파이썬 Wrapper로서 Tcl/Tk를 파이썬에 사용할 수 있도록 한 Lightweight GUI 모듈이다. Tcl은 Tool Command Language의 약자로서 일종의 프로그래밍 언어이며, Tk는 크로스 플랫폼에 사용되는 일종의 GUI 툴킷이다. Tkinter는 타 GUI 프레임워크나 툴킷에 비해 지원되는 위젯들이 부족하고 UI도 그렇게 예쁘지 않다는 단점이 있지만, Python 설치시 기본적으로 내장되어 있는 파이썬 표준 라이브러리이기 때문에 쉽고 간단한 GUI 프로그램을 만들 때 활용될 수 있다.

Tkinter는 파이썬에 기본 내장되어 있기 때문에 별도로 설치할 필요가 없다. Tkinter를 사용하기 위해서는 tkinter 모듈을 import 하면 된다.


2. PyQt

PyQt는 Qt의 Python Language Binding 중의 하나이다. Qt는 C++로 작성된 크로스 플랫폼 프레임워크로 The Qt Company에서 작성한 프로그램이다. PyQt를 사용하면, 동일한 파이썬코드를 사용하여 윈도우즈, Mac, 리눅스에서 모두 동작하는 GUI 프로그램을 작성할 수 있다. PyQt4와 PyQt5가 있으며, PyQt4는 더이상 지원되지 않는다고 한다.

GtDesigner 라는 강력한 UI 디자인 도구를 제공하는 장점이 있다. PyQt는 오픈소스로서 개인용으로는 무료이지만 상업용으로는 License를 구입해야 한다. 


3. PySide

PyQt4와 유사한 Python Qt 바인딩이며, 크로스 플랫폼을 지원한다. 

PyQt4와 거의 비슷한 PySide는 오픈소스로서 상업용으로도 무료이다. 하지만, PySide는 오픈소스를 지속적으로 관리하는 부분이 소홀한 만큼 상업용 프로젝트에는 부담스러울 수 있다. LGPL을 따른다. 

 

4. PyGTK

리눅스 환경에 잘 맞으며, 윈도우즈에서는 돌리기에 좀 불편한 편이다. GUI 디자인 도구로 Glade를 제공한다. Tkinter에 비해서는 기능이 많은 편이며, LGPL 라이센스 정책을 따른다.


5. wxPython

크로스-플랫폼을 지원하과 각 플랫폼에 어울리는 위젯을 제공한다. Tkinter에 비해 기능이 충실한 편이다. wxGlade와 같은 것 등의 GUI 디자인 도구를 제공한다. 

GPL과 유사한 Wxwidgets 라이선스 정책을 따른다.


6. Kivy

Kivy는 Windows, MacOSX, Linux, Android iOS 및 Raspberry Pi와 같은 여러 플랫폼을 지원한다. 오픈 소스이며 툴킷에는 20 개 이상의 위젯이 제공됩니다. 네이티브 위젯이 아닌 OpenGL ES 2를 통해 렌더링되므로 운영 체제 전반에 걸쳐 모양이 균일하다. Kivy를 사용하여 Android 및 iOS 용 멀티 터치 모바일 앱을 제작할 수도 있다고 한다. 게임을 만들때 좋은 GUI 라이브러리이다. MIT 라이선스 하에서 무료로 사용할 수 있다. Kv lang 이라는 별도의 개발언어로 보다 간략하게 화면을 개발할 수 있다. 이 개발언어를 보다 편리하게 사용할 수 있도록 designer가 제공된다.


반응형

+ Recent posts