728x90
- DearPyGui
- URL: https://github.com/hoffstadt/DearPyGui
- 기능
GPU 가속을 활용한 고성능 GUI 라이브러리인 DearPyGui는 "빠르고 간단하면서도 강력한" GUI 개발을 목표로 합니다. 특히 데이터 시각화와 실시간 플로팅에 최적화되어 있어, 개발자가 복잡한 데이터를 한눈에 볼 수 있도록 도와줍니다. 인터페이스가 직관적이어서 처음 시작하는 개발자도 쉽게 사용할 수 있습니다 - 장점
- GPU 기반으로 매우 빠른 성능 제공
- 코드가 간결하고 학습 곡선이 낮음
- 데이터 시각화에 적합
- 단점
- 디자인 커스터마이징에 제약이 있음
- 복잡한 GUI 개발에는 한계
- Eel
- URL: https://github.com/ChrisKnott/Eel
- 기능
Eel은 Python과 웹 기술의 완벽한 조합을 제공합니다. HTML, CSS, JavaScript를 사용하여 웹 스타일의 UI를 개발하고, Python으로 백엔드를 처리할 수 있죠. Chrome 기반의 브라우저에서 앱을 실행하기 때문에 현대적이고 세련된 UI를 만들기에 이상적입니다 - 장점
- 현대적인 웹 스타일 UI 제공
- 웹 기술(JavaScript, CSS)과의 호환성
- 단점
- Chrome 기반으로 실행되어 독립 실행형 앱 제작이 복잡함
- 브라우저 종속성으로 인해 성능 저하 가능
- Flet
- URL: https://flet.dev
- 기능
Flet은 "한 번 개발, 어디서든 실행"을 지향하는 Python 기반 크로스 플랫폼 프레임워크입니다. Flutter의 철학을 기반으로 하여, 웹, 모바일, 데스크톱 앱을 단일 코드베이스로 개발할 수 있습니다. 간단한 Python 코드로 복잡한 UI를 빠르게 제작할 수 있는 것이 큰 장점입니다 - 장점
- 하나의 코드베이스로 여러 플랫폼 지원
- 간결한 코드와 빠른 개발
- 단점
- 비교적 새로운 프레임워크로 커뮤니티와 자료가 부족
- 복잡한 앱 개발에는 적합하지 않을 수 있음
- Gooey
- URL: https://github.com/chriskiehl/Gooey
- 기능
CLI 프로그램을 더 친근하게 만들어주는 Gooey는 명령줄 옵션을 GUI로 자동 변환합니다. 직관적인 버튼과 입력 필드를 통해 초보자도 쉽게 사용할 수 있는 프로그램을 만들 수 있죠. 개발자는 CLI에서 GUI로의 전환을 거의 고민하지 않아도 됩니다 - 장점
- CLI를 빠르게 GUI로 변환 가능
- 초보 사용자에게 친숙한 인터페이스 제공
- 단점
- CLI를 기반으로 하기 때문에 GUI 커스터마이징에 제한
- 복잡한 GUI 개발에는 부적합
- Kivy
- URL: https://kivy.org
- 기능
Kivy는 터치 입력을 기본으로 설계된 크로스 플랫폼 GUI 프레임워크입니다. 모바일 앱과 데스크톱 앱 모두 개발할 수 있어 "한 번의 코드로 여러 플랫폼에 배포"라는 꿈을 실현할 수 있습니다. 그래픽과 애니메이션 제작에서도 강력한 기능을 제공합니다 - 장점
- 다중 플랫폼 지원(Android, iOS, Windows, MacOS, Linux)
- 그래픽과 사용자 정의가 용이
- 단점
- 학습 곡선이 높고, 복잡한 앱 개발에 시간이 걸림
- 기본 위젯 스타일 부족
- PyGObject
- URL: https://pygobject.readthedocs.io
- 기능
PyGObject는 GNOME 기반 앱 개발에 최적화된 Python 라이브러리입니다. GTK와의 긴밀한 통합 덕분에, 현대적이고 세련된 UI를 만들 수 있죠. 특히 Linux 환경에서 데스크톱 애플리케이션을 개발할 때 빛을 발합니다 - 장점
- Linux 친화적이며, GNOME 애플리케이션과의 통합이 뛰어남
- 다양한 위젯과 고급 기능 제공
- 단점
- 주로 Linux 환경에 초점이 맞춰져 있음
- Windows 및 MacOS 지원이 제한적
- PyQt/PySide
- URL:
PyQt: https://riverbankcomputing.com/software/pyqt/intro
PySide: https://www.qt.io/qt-for-python - 기능
PyQt와 PySide는 Python에서 사용할 수 있는 가장 강력한 GUI 툴킷 중 하나입니다. 크로스 플랫폼 지원은 기본이고, 다양한 위젯과 고급 기능을 통해 복잡한 애플리케이션도 손쉽게 개발할 수 있습니다 - 장점
- 강력한 기능과 확장성 제공
- 다양한 문서와 강력한 커뮤니티 지원
- 단점
- 라이선스 문제(PyQt는 상업적 사용 시 유료)
- 상대적으로 높은 학습 곡선
- URL:
- PyQtGraph
- URL: https://www.pyqtgraph.org
- 기능
PyQtGraph는 PyQt 기반으로 설계된 데이터 시각화 도구입니다. 대규모 데이터 처리와 실시간 그래프를 렌더링 할 수 있어, 과학적 계산 및 분석에 적합합니다. 특히 2D 및 3D 데이터 시각화에서 탁월한 성능을 발휘합니다. - 장점
- 빠르고 유연한 데이터 시각화
- 대량 데이터 처리에 적합
- 단점
- 일반적인 GUI 개발에는 부적합
- 디자인 커스터마이징이 어렵다
- napari
- URL: https://napari.org
- 기능
napari는 n차원 데이터를 빠르고 효율적으로 탐색하고 시각화할 수 있는 고성능 이미지 뷰어입니다. 과학적 연구나 이미지 분석과 같은 고급 응용 프로그램에서 탁월한 성능을 발휘하죠 - 장점
- 이미지 처리와 분석을 위한 강력한 기능
- 플러그인 시스템으로 확장성 제공
- 단점
- 일반적인 GUI 개발에 부적합
- 학습 곡선이 있음
- PySimpleGUI
- URL: https://www.pysimplegui.org
- 기능
PySimpleGUI는 "단순함 속에서 강력함"을 보여주는 GUI 라이브러리입니다. Tkinter, Qt, WxPython 등 다양한 백엔드와 호환되며, 단 몇 줄의 코드로 작동 가능한 간단한 UI를 만들 수 있습니다 - 장점
- 쉽고 빠른 GUI 개발
- 초보자 친화적이고 문서화가 잘 되어 있음
- 단점
- 복잡한 GUI 개발에는 적합하지 않음
- 백엔드에 따라 성능이 달라질 수 있음
- Tkinter
- URL: https://docs.python.org/3/library/tkinter.html
- 기능
Python 표준 라이브러리의 일부인 Tkinter는 간단한 GUI 애플리케이션을 제작하기에 적합합니다. 내장 라이브러리이기 때문에 별도의 설치가 필요 없으며, 기본적인 인터페이스를 손쉽게 구현할 수 있습니다 - 장점
- Python에 내장되어 별도 설치 불필요
- 초보자에게 적합한 간단한 GUI
- 단점
- 현대적인 디자인 지원 부족
- 복잡한 애플리케이션 개발에 제한적
- VTK (Visualization Toolkit)
- URL: https://vtk.org
- 기능
VTK는 데이터 시각화와 3D 그래픽 처리에 특화된 라이브러리입니다. 과학적 데이터와 공학적 시뮬레이션을 시각적으로 표현하는 데 유용하며, 대규모 데이터 처리에서도 높은 성능을 제공합니다 - 장점
- 3D 그래픽스와 데이터 시각화에 강력한 도구 제공
- 과학적, 공학적 응용 프로그램에 적합
- 단점
- 일반 GUI 개발에는 부적합
- 학습 곡선이 높음
- PyVista
- URL: https://pyvista.org
- 기능
PyVista는 VTK를 기반으로 한 3D 시각화와 분석 도구입니다. 간단한 API 덕분에 개발자가 복잡한 3D 데이터를 효율적으로 처리하고 시각화할 수 있습니다 - 장점
- 직관적인 API와 고성능 제공
- 대규모 데이터 분석에 적합
- 단점
- 일반 GUI 개발에는 부적합
- 커뮤니티가 상대적으로 작음
- wxPython
- URL: https://wxpython.org
- 기능
wxPython은 크로스 플랫폼 GUI 툴킷으로, 네이티브 UI를 제공합니다. 이 라이브러리를 사용하면 Windows, MacOS, Linux 등 다양한 플랫폼에서 자연스러운 사용자 경험을 구현할 수 있습니다 - 장점
- OS 네이티브 위젯 지원으로 일관된 사용자 경험 제공
- 풍부한 문서와 강력한 기능
- 단점
- 디자인 커스터마이징이 어려움
- 비교적 복잡한 코드 구조
배우고 싶은 GUI개발 순위
- PyQt/PySide: 풍부한 기능의 크로스 플랫폼 GUI
- PyQtGraph: PyQt를 위한 고성능 그래픽스 및 시각화
- napari: 고성능 n차원 인터렉티브 이미지 뷰어
- Flet: 웹, 모바일, 데스크탑 앱 개발 프레임워크
- DearPyGui: GUI 라이브러리
- Kivy: 크로스 플랫폼 GUI 라이브러리
- VTK: 3D 시각화 라이브러리
- PyVista: 3D 시각화와 분석을 위한 라이브러리
- PyVista: 3D 시각화와 분석을 위한 라이브러리
결국 PyQT6 결정 하였고 확실하게 공부하기 위해 책을 구매하였다.
https://www.riverbankcomputing.com/static/Docs/PyQt6/#
https://doc.qt.io/qtforpython-6/index.html
728x90
'파이썬 > PYQT' 카테고리의 다른 글
PyQt 입문 파이썬으로 GUI 애플리케이션 개발하기 (0) | 2025.01.08 |
---|---|
파이썬 GUI tkinter vs QT 나의 선택은? (0) | 2024.07.25 |