inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[Level 1] Qt를 이용한 Python 프로그래밍: 입문편

다국어를 지원하는 예제 구현 Part 2

pyqt? pysie6? 차이점이 있을까요?

1387

lightstone87

작성한 질문수 3

1

강의를 듣다가 문득 궁금해서 여쭤봅니다.

 

pyqt와 pyside6의 용어가 헷갈립니다 ``

 

인터넷을 검색해도 명료하게 이해하기 어렵습니다.

 

같은 gui 프로그램인데, pyqt = ipyside6라고 이름만 다른 걸까요?

pyqt 프로그램 안에 pysdie6라는 하위 프로그램이 있는 걸까요...?

 

이 두 관계가 정리가 안 되어 혼란스럽습니다 ``

python gui qt pyside6

답변 2

0

김대진

안녕하세요. lightstone87님,
김대진 입니다.

PyQt와 PySide6는 둘다 Python에서 Qt라이브러리를 사용하기 위한 바인딩입니다. 차이점으로 대부분 비슷하면 몇가지 관점에서 차이점이 있습니다.

 

1. 라이센스 차이점

PyQt:

  • GPL(General Public License) 또는 상업용 라이센스를 사용합니다.

  • GPL을 사용할 경우, PyQt로 개발한 애플리케이션은 소스 코드를 공개해야 합니다.

  • 상업용 프로젝트에서는 상업용 라이센스를 구매해야 합니다.

PySide6:

  • LGPL(Lesser General Public License)을 사용합니다.

  • LGPL은 상업용 프로젝트에서도 무료로 사용할 수 있습니다(동적 링크 사용 시).

  • PySide6는 Qt를 제공하는 The Qt Company에서 공식적으로 관리합니다.

2. 제공자

PyQt: Riverbank Computing이라는 독립 회사에서 관리합니다.
PySide6: Qt Company에서 직접 관리하며 Qt의 공식 Python 바인딩입니다.

3. 기능 차이

  • 기능은 거의 비슷합니다. 하지만 PySide6가 최신 Qt 버전에 더 빠르게 대응합니다.

  • PyQt와 PySide6의 API는 거의 유사하지만 약간의 차이가 있습니다. 예를 들어

# PyQt에서는 signal 선언
from PyQt5.QtCore import pyqtSignal

class MyObject(QObject):
    my_signal = pyqtSignal(int)

# PySide6에서는 signal 선언
from PySide6.QtCore import Signal

class MyObject(QObject):
    my_signal = Signal(int)

 

이정도의 차이가 있으며 PySide6가 Qt Framework를 제공하는 Qt Group에서 직접 관리하므로 좀더 PyQt보다 좋다고 생각합니다. 이는 제 주관적인 생각입니다.

그리고 이 강의의 모든 내용은 (Level 1,2,3) PySide6 기반입니다.

혹시 더 궁금한게 있으면 언제든 질문해주세요.
감사합니다. 김대진 드림.

 

 

1

lightstone87

답변 감사드립니다. 검색을 해보니 pyqt랑 pyside6랑 혼용해서 사용해서 이게 뭔가 했는데, 이해가 되었습니다. 정성 들여 많든 강의 열심히 듣겠습니다. 새해 복 많이 받으세요!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

lightstone87님이 문의하신 PyQt와 PySide6는 모두 Python에서 Qt 라이브러리를 사용할 수 있도록 해주는 바인딩 라이브러리입니다. 이 두 라이브러리는 각각의 특징과 차이점을 가지고 있습니다.

  1. PyQt:

    • PyQt는 Riverbank Computing이 제공하는 래퍼로써, GPL(General Public License) 또는 상업용 라이선스 하에 배포됩니다. PyQt를 사용하여 개발된 애플리케이션을 상업적으로 배포하려면 상업용 라이선스가 필요할 수 있습니다.
    • 비교적 더 오랜 역사를 가지고 있어 커뮤니티의 지원이 활발한 편입니다.
  2. PySide6:

    • PySide는 Qt for Python이라고도 알려져 있으며, Qt Company가 공식적으로 제공하는 LGPL (Lesser General Public License) 하에 배포됩니다. LGPL은 GPL보다는 상업용 애플리케이션에 대해 더 관대한 라이선스를 제공합니다.
    • PyQtion 프로젝트에서 파생되었으며, 기능상 PyQt와 동일한 기능을 제공하려고 합니다.

위 두 라이브러리는 모두 Qt 프레임워크를 파이썬에서 사용하게 해주지만, 라이선스 차이와 함께 발생하는 작은 구현상 차이점이 존재할 수 있습니다. 일반적으로, PyQt는 더 많은 예제와 문서가 제공되지만 상업용 애플리케이션을 개발할 때 라이선스 비용이 발생할 수 있는 반면, PySide는 오픈 소스 및 상업적 사용에 유리한 라이선스 정책을 가지고 있습니다.

다음 링크를 통해 더 자세한 내용을 확인하실 수 있습니다:
- What are the differences between PyQt and PySide?
- PySide vs PyQt

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작업형1 - 연습문제 1번 관련 질문입니다.

0

8

1

퍼블릭시티 결제 관련

0

7

0

강의 자료 16~39 관련

0

24

2

한국투자증권 미국 주식 매매 수수료와 환전 수수료가 높은 경우 자동매매 베개투자법을 적용해도 괜찮을까요?

0

25

2

강의자료 관련

0

16

0

오류 문의

0

26

2

안티그래비티 업데이트?

0

51

3

데이터 전처리 시 문의

0

36

2

random_state 값

0

29

2

인코딩 사용여부

0

32

2

섹션 2 확률변수 자료 문의

1

19

1

인코딩 전 데이터 합치기 질문드립니다!

0

33

1

QT와 QT Designer에 대한 질문 사항

1

170

2

mutex, incNumber는 global 안붙여도 되는건가요?

1

117

2

Qt Resource를 사용하는 예제 구현 10:15 구간 질의

1

146

2

데코레이터 @Slot을 꼭 써줘야 하는 건가요?

1

154

2

TableModel(QAbstractTableModel) 에서 질문입니다.

1

247

2

self가 있는 거와 없는 버튼

1

123

2

선호하는 GUI 개발 방법이 있으신가요

1

312

2

가장 큰 위젯의 너비와 같은 너비를 차지하는 2열 짜리 컬럼

1

234

2

exe 배포 시 .ui 파일 처리하는 권장하는 방법이 있나요?

1

315

1

클래스 __init__(self) 설정에서 이해가 안 되는 부분이 있습니다.

2

308

2

자주 사용하는 Layout 살펴보기

1

158

2

강의 pdf파일 올려 주시면 안될까요?

2

241

2