인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

lightstone87님의 프로필 이미지

작성한 질문수

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

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

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

작성

·

294

1

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

 

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

 

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

 

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

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

 

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

답변 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 기반입니다.

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

 

 

lightstone87님의 프로필 이미지
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

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