CoWithMe

파이썬 GUI tkinter vs QT 나의 선택은?

이영훈닷컴 2024. 7. 25. 05:03
728x90

알고리즘 수업 듣다가 머리 아파서 잠깐 딴생각을 잠깐 했었다.

파이썬 공부하면서 GUI를 만들 수 있을까? 궁금증이 생겨 문서를 찾아보아보니 파이썬 GUI는 사용은 하나 그렇게 많이 사용하지를 않는 것 같다.

 

GUI는 플러터 공부할 생각 이지만 이참에 플러터와 파이썬 어떤 게 좋을지 그리고 적절하게 활용할 수 있을지 등 다양한 생각과 결론을 내리기 위해서는 두 개 다 공부해 볼 생각이다.

 

하지면 파이썬도 GUI  두가지를 많이 사용한 것 같다.

 

 

이참에 파이썬 공부 했는데 GUI 훑어 보고 경험하는 것도 괜찮잖아~

 

Python tkinter

 

장점

  • 내장 모듈: Python의 표준 라이브러리에 포함되어 있어 별도의 설치 없이 사용할 수 있습니다.
  • 간단한 GUI 개발: 단순한 GUI 요구사항에 적합하며, 빠르게 구현할 수 있습니다.
  • 초보자 친화적: 간단한 문법과 사용법으로 빠르게 GUI를 만들 수 있습니다.

단점

  • 디자인 제한: 기본 위젯 디자인이 제한적이며, 모던한 UI를 구현하기 어려울 수 있습니다.
  • 스타일링 어려움: 디자인을 세밀하게 커스터마이즈 하는 것이 어려울 수 있습니다.
  • 크로스 플랫폼 완성도: 다른 플랫폼 간의 완성도가 다를 수 있습니다.

Python PyQt / PySide

 

장점

  • 강력한 기능: Qt 프레임워크의 모든 기능을 활용할 수 있습니다. 다양한 위젯, 레이아웃, 그래픽 처리 등을 제공합니다.
  • 모던한 UI: Qt Designer를 통해 시각적으로 디자인한 UI를 손쉽게 구현할 수 있습니다.
  • 크로스 플랫폼 지원: Windows, macOS, Linux 등 다양한 플랫폼에서 동일한 UI를 제공합니다.
  • 풍부한 문서화: Qt의 풍부한 문서화와 커뮤니티 지원이 있어서 개발 도움을 받기 좋습니다.

 

단점

  • 학습 곡선: PyQt나 PySide는 복잡한 기능을 다루기 때문에 초기 학습 곡선이 높을 수 있습니다.
  • 라이선스: PyQt의 경우 GPL 또는 상업적 라이센스가 필요할 수 있어, 상업적인 프로젝트에서는 라이센스 비용이 발생할 수 있니다.
  • 설치와 의존성 관리: PyQt와 PySide를 설치하고 관리하는 것이 복잡할 수 있습니다.

프로젝트 규모와 복잡성

단순한 GUI는 tkinter로 충분할 수 있지만, 복잡하고 모던한 UI를 구현해야 할 경우 PyQt나 PySide가 적합합니다.

라이센스 요구사항

상업적인 프로젝트에서는 PyQt의 라이센스 요구사항을 고려해야 합니다. PySide는 LGPL 라이선스를 사용하여 상업적인 프로젝트에서 자유롭게 사용할 수 있습니다.

개발자의 선호도

개발자의 경험과 선호도에 따라 선택할 수 있습니다. PyQt는 C++와 유사한 문법을 사용하므로 C++ 개발 경험이 있는 경우 더 쉽게 적응할 수 있습니다.

크로스 플랫폼 요구

다양한 플랫폼에서 동일한 UI를 제공해야 할 경우 PyQt나 PySide가 적합합니다.

결론

  • tkinter: 간단하고 빠르게 GUI를 만들어야 할 때 좋습니다.
  • PyQt / PySide: 모던하고 강력한 GUI를 구현하고자 할 때 좋습니다. 크로스 플랫폼 지원과 풍부한 기능을 필요로 할 때 사용할 수 있습니다.

Tkinter와 플러터 같이 공부하면서 파이썬이 익숙해질 때쯤에 한번 QT로 넘어가야겠다.

최종결론 Tkinter

 

그래서 난이도가 얼마나 할지 잘 몰라 그냥 Hello world 정도 따라 해 보았다.

 

ㅋㅋㅋㅋ 재미있군

장고 DRF 끝내고 다음 주부터는 랭체인 한 권 정도 끝내놓고 GUI도 좀 손대볼 생각 해야겠다. ㅋ

 

728x90