inflearn logo
강의

講義

知識共有

[Level 1] Qtを使ったPythonプログラミング:入門編

多言語対応のサンプル実装 Part 2

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

1316

lightstone87

投稿した質問数 3

1

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

 

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

 

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

 

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

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

 

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

python gui qt pyside6

回答 2

0

qtdev

안녕하세요. 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

communityai8509

안녕하세요, 인프런 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

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

6-6

0

4

0

작업형 1 유형 부분

0

9

1

수강평 이벤트

0

16

2

작업형 1 (삭제예정, 구 버전)

0

28

2

강의노트는 어디있나요?

0

17

1

노션 학습 자료 권한 요청

0

16

1

수강기간 연장 문의드립니다.

0

21

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

22

3

part2강의 문의사항입니다.

0

19

2

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

27

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

QT와 QT Designer에 대한 질문 사항

1

167

2

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

1

115

2

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

1

140

2

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

1

150

2

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

1

242

2

self가 있는 거와 없는 버튼

1

119

2

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

1

304

2

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

1

228

2

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

1

306

1

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

2

300

2

자주 사용하는 Layout 살펴보기

1

151

2

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

2

236

2