안녕하세요. 오늘은 Python Qt 오픈소스 프로젝트의 일환인 PySide6에 대해 알아보고 설치를 진행해보도록 하겠습니다.
Qt란
Qt는 GUI 기반의 프로그램을 제공하기 위한 크로스 플랫폼 프레임워크입니다.
PySide란
파이썬 기반의 Qt는 PyQt와 PySide가 있는데, PyQt가 먼저 출시되었고, PySide는 추후에 출시되었지만, PySide가 The Qt Company라는 곳에서 만들어 Qt 프로그램의 진정한 계승을 했다고 볼 수 있습니다.
PyQt와 PySide의 코드는 실제로 많이 비슷하기도 하고 PyQt는 상업용으로 사용하려면 소스 공개 등의 번거로운 부분이 생기는 GPL 라이선스이지만 PySide는 LGPL 라이선스로 상업용으로 사용해도 소스 공개의 의무가 없다는 점이 다릅니다. PySide를 설치해보고 간단한 예제를 진행해볼께요.
PySide6 설치
PySide6를 설치하기 위해서는 Python3.6이상의 버전을 사용하시길 권장드립니다.
아래는 PySide6 프로젝트 및 문서 홈페이지 링크입니다. 참고해주세요.
PySide6 프로젝트 링크 : https://pypi.org/project/PySide6/
PySide6
Python bindings for the Qt cross-platform application and UI framework
pypi.org
PySide6 Document : https://doc.qt.io/qtforpython/index.html
Qt for Python — Qt for Python
Watch webinars, talks, and more.
doc.qt.io
가상환경 만들기
먼저, venv를 이용해 가상환경을 먼저 만듭니다.
python3 -m venv env
가상환경을 설치합니다. PC의 OS가 Mac 또는 리눅스의 경우 아래와 같이 실행합니다.
source env/bin/activate
OS가 Windows인 경우에는 아래와 같이 activate.bat 파일을 실행합니다.
env\Scripts\activate.bat
PySide6 설치하기
Mac에서 설치하는 방법에 대해 알아볼께요. 터미널 창을 열고 pip 패키징을 이용하여 설치합니다.
pip install PySide6
PySide6 설치 확인 코드 작성하기
PySide6가 설치된 것을 확인하기 위해 아래와 같이 파일을 하나 생성하여 실행합니다. 윈도우의 경우 메모장에서 작성하시고, Mac이나 리눅스의 경우에는 터미널에서 vi pyside.py 파일을 생성하여 작성하신 후, 저장해주세요.
import PySide6.QtCore
# Prints PySide6 version
print(PySide6.__version__)
# Prints the Qt version used to compile PySide6
print(PySide6.QtCore.__version__)
PySide6 설치 확인 및 결과
설치 확인 및 결과를 볼 차례입니다. python3 pydside.py를 이용해 작성한 파이썬 파일을 실행합니다. 실행하면 PySide6의 버전이 정상적으로 표시되는 것을 확인할 수 있습니다. 저는 6.2.3 버전이 설치되어있지만 직접 설치하실 때 버전이 다를 수 있습니다.
(env) tamnzaio@pc pyside % python3 pyside.py
6.2.3
6.2.3
PySide6 첫 프로그램 실행
이제 PySide6를 사용하기 위한 준비는 다 끝났습니다.
첫번째 프로그램으로 윈도우창을 띄워 Hello World 글자를 보여주고 Click me! 버튼을 누를 때마다 설정된 언어로 변경되는 코드로 작성된 예제코드를 실행해볼께요. 이 코드는 튜토리얼에 존재하는 코드입니다.
import sys
import random
from PySide6 import QtCore, QtWidgets, QtGui
# 위젯 선언
class MyWidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.hello = ["Hallo Welt", "Hei maailma", "Hola Mundo", "Привет мир"]
self.button = QtWidgets.QPushButton("Click me!")
self.text = QtWidgets.QLabel("Hello World",
alignment=QtCore.Qt.AlignCenter)
self.layout = QtWidgets.QVBoxLayout(self)
self.layout.addWidget(self.text)
self.layout.addWidget(self.button)
self.button.clicked.connect(self.magic)
@QtCore.Slot()
def magic(self):
self.text.setText(random.choice(self.hello))
# 어플리케이션 호출 및 실행
if __name__ == "__main__":
app = QtWidgets.QApplication([])
widget = MyWidget()
widget.resize(800, 600)
widget.show()
sys.exit(app.exec())
작성한 코드를 실행하면 윈도우창이 뜹니다.
python3 hello_world.py
여기까지 PySide6에 대해 알아보았고, 또한 어떻게 PySide6 설치 및 첫 프로그램까지 만들어 실행해보았습니다.
모든 예제가 그렇듯이 첫 프로그램은 그렇게 어렵지 않게 진행할 수 있습니다.
이 포스팅을 끝까지 읽어주셔서 감사합니다.
댓글