파이썬 GUI, 왜 wxPython인가?
파이썬 GUI 프레임워크(framework)는 파이썬 설치시 기본으로 설치되는 Tkinter 외에도 사용자 직접 설치가 필요한 wxPython, PyQt, PySimpleGUI, Kivy, PySide 등이 있다. 해외 사이트를 보면 최소 10가지 이상의 파이썬 GUI 프레임워크가 있는 것 같다. 이 중에서 나는 PyQt, Tkinter, wxPython을 사용해 보았는데, 개인적으로 초보자 입장에서 배우기 쉽고, 구글에 검색했을 때 학습 자료가 많이 등장하는 wxPython와 Tkinter가 독학하기 쉽고, 최종적으로 안정적인 공식사이트(www.wxpython.org)를 가지고 있고, 문제발생시 트러블슈팅에 용이한 스택오버플로우(www.stackoverflow.com) 검색량이 풍부하며 보다 다양한 위젯(Widgets)을 제공하는 wxPython을 선택하게 되었다.
wxPython vs Tkinter
그럼 위에서 이야기한 wxPython과 Tkinter를 잠깐 간단히 비교해보자.
기본적으로 두 프레임워크는 각각 wxFormBuilder(https://github.com/wxFormBuilder/wxFormBuilder)와 Pygubu(https://github.com/alejandroautalan/pygubu)라는 GUI Builder로 제작이 가능하며, 아래 그림과 같이 버튼만 놓고 보았을때에도 생김새에 약간 차이가 있다. 개인적으로는 wxPython쪽이 조금 더 자연스럽고 세련되어 보인다.
실제 두 프레임워크를 오랫동안 사용해본 한 외국 유저의 말을 빌려 장단점을 비교하자면 이렇다.
wxPython
장점:
- 위젯이 매우 많다.
- 자연스러운 GUI
- 유연하다. (개발자 입맛대로 자유롭게 변경가능)
- 사용자 커뮤니티가 매우 활성화 되어 있다.
단점:
- 현재에도 계속 개발이 진행중이어서 버그가 있을 수 있고, API가 변경될 수 있다.
- 파이썬과 함께 설치되지는 않기 때문에 별도의 설치가 필요하다.
- 일단 사용하기 시작하면, 추천도 그만큼 많이 하게 될 것 같다...?!
Tkinter
장점:
- 안정적이다.
- 이식성이 좋다.
- 파이썬 설치시 기본제공된다.
- 배우기 쉽고 간결한 API다.
단점:
- 세련되지 않은 GUI
- 복잡한 인터페이스를 구현할 때에는 귀찮은 작업이 많이 필요하다.
- 제대로 사용하려면 추가 툴킷들을 별도 다운로드 해야할 때가 있다.
- 사람들 관심이 주로 wxPython에 몰려있기 때문에 사용자가 줄어들 가능성이 있다.
따라서 여러 측면에서 보았을 때, Tkinter도 물론 우수한 프레임워크이지만 사용자층이나 향후 API 업데이트, 그리고 조금 더 세밀하게 커스터마이징이 가능한 GUI를 고려하면 wxPython으로 시작하는 것이 여러모로 합리적이라고 생각한다. 다만, 초보자의 경우, 그리고 그다지 복잡하지 않은 간단한 UI로 작은 프로그램을 제작하고자 하는 유저의 경우에는 직접 설치가 필요없는 등의 장점을 고려했을 때 Tkinter도 좋은 대안이 될 수 있다는 것을 명심하자.
'wxPython' 카테고리의 다른 글
파이썬 GUI, 싱글초이스다이얼로그 wx.SingleChoiceDialog (0) | 2023.02.22 |
---|---|
파이썬 GUI, 체크박스 생성 후 이벤트 연결하기 (0) | 2023.02.22 |
파이썬 GUI, 버튼 생성 후 이벤트 등록하기 (0) | 2023.02.12 |
파이썬 GUI, 메뉴바 만들기 wx.Menubar (0) | 2023.02.12 |
파이썬 GUI, wxPython Hello World! (0) | 2023.02.12 |