목적: 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가 많다는 글을 본적이 있어 신경쓰고 있습니다.