2016년 5월 3일 화요일

사용할 Python GUI 비교 및 선택하기

하나의 필요(python에서 어떤 GUI를 주로 사용할 것인가)가 생겨 고민 과정을 정리해 보았습니다. 정리를 해 놓아야. 왜 그런 생각을 했는지, 돌아볼 수 있기 때문입니다.


목적: Python에서 주로 사용할 GUI 선택


검토 자료
검색을 통해서 동영상, 여러 비교 웹페이지 들을 돌아 다녔고, 그 결론으로
1. 'stackoverflw' 의 한 질문과 답변 (링크)
2. wxPython과 PyQt 를 둘다 처음 사용해본 개발자 의견 (링크)
3. 동일한 고민을 하고 wxPython을 고른 분의 글 (링크)


개인적 요구 사항
1. 사용성(짧은 시간에 결과 확인)
2. 범용성(어느 OS에서나 사용 가능)
3. PC에서 사용
이었습니다.


간략하게 정리하면
1. PyQt, pyGTK, wxPython 이 유명도 면에서 선정 대상이 되었고
2. 그중 pyGTK 가 범용성 면에서 점수가 낮아 먼저 탈락 되었습니다.
3. PyQt 와 wxPython 중 어떤 것을 선택하는지 문제인데,
   위 검토자료의 2, 3 이 다른 의견을 주었습니다.
4. 하지만 2번의 개발자가 직접 두 라이브러리를 가지고 직접 동일한 GUI를 구현을 해 보았고 PyQt 가 1일 걸리는 일을 wxPython으로 일주일이 걸리고, 코드의 이해도도 PyQt 가 wxPython에 비해서 높다고 하였습니다.

결론
PyQt 공부하기로 했습니다.


추가로
python korea 에 비슷한 질문이 있고, 답변이 좋아서 기록해 둡니다.

170925 update
  - GUI 는 PyQt 를 사용하는게 제일 편합니다. 이유는 Designer Tool 때문
  - GUI 를 구성할 때는 원하는 모습으로 만들 수 있어야 하는데 이 때 바탕의 배치(layout)를 잘 활용하고 각 Widget의 Minimum, Maximum 크기를 설정하고, Dock Widget 을 활용하면 가능합니다.
  - 보통 버튼을 누르면 특정 동작을 진행해야 하는데 이 때 thread 를 사용해야 GUI 가 멈추지 않습니다. QThread를 활용 하는것이 편리해서(pyqtsignal) 저는 간단한 것만 사용했는데 내부에 bug가 많다는 글을 본적이 있어 신경쓰고 있습니다.


댓글 1개:

  1. 감사합니다. python 으로 GUI 프로그램을 처음 만들어보려고 하는데 판단에 도움이 되었습니다.

    답글삭제