반응형
파이썬에서 UI(User Interface) 개발을 할 때 많이 사용되며 비교적 쉽게 배울 수 있는 도구 3개를 추천해 드릴게요.
1. Tkinter (기본 GUI 라이브러리)
✅ 장점
- 파이썬 표준 라이브러리로 별도 설치가 필요 없음.
- 비교적 가벼우며 간단한 GUI 개발에 적합.
- 기본적인 버튼, 레이블, 텍스트 입력 등 다양한 위젯 제공.
- 크로스 플랫폼(Windows, macOS, Linux) 지원.
❌ 단점
- 디자인이 기본적이고 세련되지 않음.
- 복잡한 UI 개발에는 한계가 있음.
사용 예제
import tkinter as tk
root = tk.Tk()
root.title("Tkinter 예제")
label = tk.Label(root, text="Hello, Tkinter!")
label.pack()
button = tk.Button(root, text="닫기", command=root.quit)
button.pack()
root.mainloop()
2. PyQt (PyQt5 / PyQt6) (강력한 UI 개발)
✅ 장점
반응형
- Qt 프레임워크 기반으로 강력한 UI 기능 제공.
- 드래그 앤 드롭 방식의 Qt Designer를 사용하여 UI 디자인 가능.
- 다양한 위젯과 스타일 커스터마이징 가능.
- 크로스 플랫폼 지원.
❌ 단점
- 라이선스 문제(PyQt는 상업적 사용 시 라이선스 필요).
- 다른 UI 프레임워크보다 학습 곡선이 높음.
- 패키지 크기가 커서 간단한 프로젝트에는 부담될 수 있음.
설치 및 사용 예제
설치:
pip install PyQt6
간단한 예제:
from PyQt6.QtWidgets import QApplication, QLabel, QPushButton, QVBoxLayout, QWidget
import sys
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("PyQt 예제")
layout = QVBoxLayout()
layout.addWidget(QLabel("Hello, PyQt!"))
button = QPushButton("닫기")
button.clicked.connect(app.quit)
layout.addWidget(button)
window.setLayout(layout)
window.show()
sys.exit(app.exec())
3. Kivy (터치스크린 및 크로스 플랫폼 지원)
✅ 장점
- 모바일 앱(Android, iOS) 및 데스크톱 앱을 동시에 개발 가능.
- 멀티터치 지원 → 스마트폰 UI 개발에 적합.
- GPU 가속 렌더링을 지원하여 빠른 성능 제공.
- 크로스 플랫폼 지원(Windows, macOS, Linux, Android, iOS).
❌ 단점
- 디자인이 기본적으로 모바일 중심이라 데스크톱 UI 개발에는 다소 불편할 수 있음.
- 설치 및 환경 설정이 조금 번거로움.
- 기존의 데스크톱 UI 스타일과 다소 차이가 있음.
설치 및 사용 예제
설치:
pip install kivy
간단한 예제:
from kivy.app import App
from kivy.uix.button import Button
class MyApp(App):
def build(self):
return Button(text="Hello, Kivy!")
MyApp().run()
비교 및 선택 기준
UI 프레임워크 | 사용 난이도 | 디자인 | 크로스 플랫폼 | 모바일 지원 | 주요 용도 |
Tkinter | 쉬움 | 기본적 | O | X | 간단한 데스크톱 앱 |
PyQt | 중간 | 세련됨 | O | X | 강력한 데스크톱 앱 |
Kivy | 중간 | 모바일 지향 | O | O | 크로스 플랫폼 및 모바일 앱 |
추천
- 간단한 GUI 프로그램 → Tkinter
- 강력한 데스크톱 애플리케이션 → PyQt
- 모바일 앱까지 개발하려면 → Kivy
어떤 용도로 사용할지에 따라 선택하면 됩니다!
반응형
'IT > SW Dev.' 카테고리의 다른 글
쉬운 AI Coding - Pdf 생성, 분리, 병합 (chatgpt, python) (0) | 2025.02.22 |
---|---|
쉬운 AI Coding - 마우스 커서 자동 이동 (chatgpt,python, pyautogui) (1) | 2025.02.22 |
쉬운 AI Coding - EasyOCR(텍스트 추출) 패키지 및 Python 예제 (0) | 2025.02.19 |
쉬운 AI Coding - streamlit 소개 및 python 예제 코드 (1) | 2025.02.17 |
python으로 작성한 코테 알고리즘 별 사례 (1) | 2025.02.15 |