본문 바로가기
파이썬 공부중

[파이썬] GUI (그래픽 인터페이스) 라이브러리 선택

by 그믐치 2021. 6. 19.

시간날때 틈틈히 파이썬을 독학중인데 이제 문법을 대충 끝내고 뭐라도 만들어볼 생각입니다. 문법 후반부를 공부하는사이 초반에 배웠던건 상당수 까먹은듯하지만 문법만 반복하다가는 흥미를 잃을듯하여 일단 무식하게 앞으로 전진해볼참입니다. 윈도우시대에 텍스트모드 프로그램은 불편해보여서 GUI 과정을 조금 더 배워야겠습니다. 그런데 찾아보니 GUI 라이브러리가 여러가지라 뭘 선택해야 할지 몰라서 일단 정리부터 해보기로 했습니다.

 

Tkinter, PyQt, PySide, PyGTK, wxPython, Kivy

 

1. Tkinter

 

장점이라면 따로 설치할 필요없이 파이썬 설치하면 기본적으로 내포하고 있는 표준 GUI 라이브러리라는겁니다.

위젯들이 부족하고 UI도 예쁘지 않습니다.

따로 설치할 필요가 없으니 매뉴얼을 보고 간단한 윈도우를 만들어봤습니다.

from tkinter import *

root = Tk()
root.title("윈도우")
root.geometry("800x200+500+1500")

btn = Button(root, text="버튼클릭")
btn.pack()

txt = Text(root, width=100, height=5)
txt.pack()

root.mainloop()

Tkinter 윈도우

2. PyQt

 

하나의 코드로 윈도우즈, 맥, 리눅스에서 동일하게 작동하는 크로스 플랫폼을 지원합니다.

많이 알려져 있어서 리소스를 구하기가 쉽습니다.

Qt Designer를 사용해 위지위그 방식으로 편하게 레이아웃을 만들수 있습니다.

Qt Designer

Tkinter를 짧게 사용해보고 윈도우의 레이아웃이 복잡하게 설계되면 과연 코딩이 가능할까였습니다. 고생이 심하겠죠?

PyQt 개인 사용자에겐 무료지만 상업용은 무료가 아닙니다. 라이센스 구입해야 합니다.

 

3. PySide

 

PyQt가 상업용 라이센스가 필요한점을 보완하고자 만들어졌습니다. 때문에 PyQt와 비슷합니다.

LGPL 라이센스로 개인용,상업용 모두 사용할 수 있습니다.

PyQt에서 사용하는 Qt Designer를 사용할 수 있습니다.

 

4. PyGTK

 

Tkinter에 비해서는 기능이 많습니다.

LGPL 라이센스.

import gi

gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

win = Gtk.Window()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

PyGTK

Glade를 사용해 쉽게 UI 디자인을 개발할 수 있습니다.

Glade에서 디자인 된 사용자 인터페이스는 XML로 저장되며 GtkBuilder GTK 객체를 사용하여 필요에 따라 응용 프로그램에서 동적으로로드 할 수 있습니다.

Glade

 

5. wxPython

 

wxPython Phoenix와 wxPython Classic이 있으며 파이썬 3부터는 wxPython Phoenix를 사용해야 합니다.

크로스 플랫폼을 지원하고 각각의 플랫폼에 어울리는 위젯을 제공합니다.

wxFormBuilder를 사용해 쉽게 디자인을 개발할 수 있습니다.

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

wxFormBuilder

 

6. Kivy

 

Kivy는 Linux, Windows, OS X, Android, iOS 및 Raspberry Pi에서 실행됩니다. 지원되는 모든 플랫폼에서 동일한 코드를 실행할 수 있습니다. 20 개 이상의 위젯이 제공되며 OpenGL ES 2를 통해 렌더링되므로 운영 체제 전반에 걸쳐 모양이 균일합니다.

기본적으로 WM_Touch, WM_Pen, Mac OS X Trackpad 및 Magic Mouse, Mtdev, Linux Kernel HID, TUIO를 포함한 대부분의 입력, 프로토콜 및 장치를 사용할 수 있습니다. 멀티 터치 마우스 시뮬레이터가 포함되어 있습니다.

Designer를 사용할 수 있습니다.

Kivy Designer

Kivy는 MIT 라이선스 (1.7.2부터 시작) 및 이전 버전의 경우 LGPL 3에 따라 100 % 무료로 사용할 수 있습니다. 이 툴킷은 전문적으로 개발, 지원 및 사용됩니다. 상용 제품에 사용할 수 있습니다.

댓글