DINKIssTyle (118.♡.73.21)
2025년 12월 21일 AM 01:01 · 수정됨(02:28)
정정합니다.
우분투 웨이랜드에서 제대로 표현안되는 건
PySide6 입니다.
PyQt6는 마치 리눅스 프로그램인듯 잘 돌아가요.
넘버링도 같고 이 헷갈리는 두녀석의 차이는 아래와 같습니다.
PyQt6 vs PySide6 — 핵심 차이 한눈에 정리
둘 다 Qt 6 기반의 Python GUI 바인딩이며, 기능·성능·API 구조는 거의 같습니다. 선택 기준은 주로 라이선스와 배포 전략입니다.
1️⃣ 라이선스 (가장 중요한 차이)
항목 | PyQt6 | PySide6 |
라이선스 | GPL / Commercial | LGPL |
상용 앱 (소스 비공개) | ❌ 유료 라이선스 필요 | ✅ 무료 가능 |
오픈소스 | GPL 공개 의무 | LGPL (동적 링크 조건) |
- 상용·배포용 앱 → PySide6 추천
- 개인·연구·GPL 프로젝트 → PyQt6도 문제 없음
2️⃣ 관리 주체
항목 | PyQt6 | PySide6 |
개발사 | Riverbank Computing | Qt Company (공식) |
공식 Qt Python | ❌ | ✅ (Qt for Python) |
👉 Qt Company 공식 지원은 PySide6 쪽입니다.
3️⃣ API 차이 (아주 미세)
대부분 코드가 거의 동일하지만, 몇 군데 차이가 있습니다.
🔹 Signal / Slot 선언
# PyQt6
from PyQt6.QtCore import pyqtSignal
signal = pyqtSignal(int)
# PySide6
from PySide6.QtCore import Signal
signal = Signal(int)
🔹 exec() 반환값
# PyQt6
app.exec()
# PySide6
app.exec()
(Qt6부터는 거의 동일)
🔹 Enum 접근 방식 (Qt6 공통)
Qt.AlignmentFlag.AlignCenter
Qt.WindowType.FramelessWindowHint
➡️ 이 부분은 PyQt6 / PySide6 동일
4️⃣ 배포 & 패키징
항목 | PyQt6 | PySide6 |
PyInstaller | 안정 | 안정 |
macOS 서명 | 문제 없음 | 문제 없음 |
Windows 배포 | 문제 없음 | 문제 없음 |
라이선스 리스크 | ⚠️ 있음 | ✅ 낮음 |
👉 PySide6는 라이선스 문구만 포함하면 끝
5️⃣ 문서 & 커뮤니티
항목 | PyQt6 | PySide6 |
공식 문서 | 간결 | 풍부 (Qt Docs 연동) |
예제 | 많음 | 많음 |
Qt C++ 문서 참고 | 가능 | 더 자연스러움 |
6️⃣ 성능 & 안정성
- ✔ 성능 차이 체감 불가
- ✔ 둘 다 C++ Qt 바인딩
- ✔ 대형 프로젝트에서도 동일하게 안정적
✅ 추천 기준 요약
상황 | 추천 |
상용 앱 / 배포용 | PySide6 |
오픈소스 GPL | PyQt6 |
Qt 공식 생태계 연동 | PySide6 |
기존 PyQt 코드 유지 | PyQt6 |
신규 프로젝트 | PySide6 |
🎯 결론 (실전 기준)
2024~2025 기준 신규 프로젝트는 거의 무조건 PySide6가 정답
(라이선스 스트레스 없음 + Qt Company 공식)
필요하시면
- PyQt → PySide 자동 변환 체크리스트
- 공통 코드 베이스 작성 팁
- PyInstaller 배포 템플릿
까지 바로 정리해 드릴게요.
PySide를 써야할거 같은데 우분투 웨이랜드에서는 창보더도 그림자도 없습니다 ㅜ ㅜ
댓글 (2)
-
DDymaxion
25.12.21 · 144.♡.83.13
-
DDINKIssTyle
→ Dymaxion 작성자
25.12.21 · 14.♡.7.140
우분투용 파이썬에 안넣어줘서 깔다(빌드)가 포기했어요 ㅠㅠ
댓글을 작성하려면 이 필요합니다.
단순무식+까탈스럽지않고 무던함
간단한 앱 만들때 이거저거 시도해 보다가 그냥 tkinter에 만족하고 나니깐 스트레스가 확 줄더라고요