FrameWork/PyQT

파이썬으로 그래픽 인터페이스 제작하기! Pyside6 설치 및 Qt designer로 작업물 .py 파일로 변환하기

JHeaon 2023. 7. 4. 04:17

 

파이썬을 배우게 되면 창을 뛰우고 그 창에 명령어를 연결시켜 실행되는 프로그램 개발에 대해 관심 생길 수도 있다. 이러한 것에 도움을 주는 라이브러리가 있는데 이번에 소개드릴 "Pyside"라는 파이썬 라이브러리이다. 

 

해당 포스팅 글은 다음과 같은 순서로 진행될 예정이다. 

  • Pyside가 뭔지 알아보기
  • Pyside, Qt designer 설치 및 운영 방법
  • Qt designer에서 만들어진. ui 파일을. py 파일로 변경하고, 창 띄어보기

 

 

 

 

파이썬 GUI 프로그래밍 Pyside6

그래픽 인터페이스 만들기 위한 툴을 쉽게 만들기 위해 모듈화 해둔 QT라는 C++용 라이브러리를 Python version 만들어 놓은 라이브러리이다. Pyqt라고도 불리며, Python 3.6 이상부터 지원하고 있다. 해당 라이브러리를 설치하면 Qt designer을 통해 좀 더 편리하게 GUI 프로그래밍을 할 수 있다.

 

https://github.com/Wanderson-Magalhaes/Modern_GUI_PyDracula_PySide6_or_PyQt6, https://pythonsimplificado.com.br/curso-criando-aplicacoes-com-qtdesigner-e-pyside6/

해당 라이브러리와 Qt designer에서 제공하는 각종 속성을 잘 사용만 한다면, 다음과 같은 좋은 인터페이스들을 제작할 수 있다. 

 

 

 

 

 

Pyside6 설치 및 Qt designer 실행하기

Pyside6는 파이썬 외부 라이브러리 중 하나이기 때문에 pip tool을 이용하여 설치한다. 여기서 중요한 점은 파이썬이 여러 버전 설치되어 있을 경우에는 현재 실행되어 있는 파이썬 버전을 확인하고 설치하여야 한다. 

 

🖥️ Terminal

pip install pyside6

 

그런 다음 파이썬이 설치되어 있는 경로에 따라 pysdie6 라이브러리가 설치된 곳을 찾는다. 윈도 운영체제를 사용하는 사람들의 경로는 대부분 아래와 같다. 해당 경로로 들어가 designer.exe 파일을 눌러 실행시켜 보자. 

C:\Users\(Username)\AppData\Local\Programs\Python\Python311(Python version)\Lib\site-packages\PySide6

해당 프로그램 중 designer을 실행하면 된다.
Qt Designer 실행창

Qt Designer 프로그램은 GUI 프로그래밍을  직관적으로 디자인하기 위해서 여러 인터페이스를 지원하는 프로그램이다.  여러 종류의 Widget과 Label 들을 제공하며 마우스로 끌어서 원하는 위치에 컴포넌트를 넣거나 컴포넌트의 크기 조절을 마우스로 쉽게 가능하다는 것이 큰 장점이다. 해당 프로그램으로 원하는 디자인을 만든 뒤 저장을 하게 되면 name.ui라는. ui 파일이 생성되게 되는데 이를 python 코드로 변경 한 뒤 실행시켜야 우리가 원하는 그래픽 인터페이스 화면을 완성시킬 수 있다. 

 

 

 

 

.ui 파일을.py 파일로 변경하는 방법과 창을 뛰우는 방법

일단 Qt Designer가 설치되어 있는 경로를 환경 변수에 추가해주어야 한다. Qt Designer가 설치되어 있는 경로를 복사한 뒤 시스템 환경 변수창을 열어 경로를 추가한다. 

 

 

그다음 ui.ui 파일이 있는 곳으로 들어가 해당 명령어를 기입한다. uic 명령어를 쓰기 전에 혹시 터미널이나 Visual Studio Code을 열고 있다면 추가된 환경변수를 바로 못 가져오기 때문에, 프로그램을 껐다 다시 실행하여야 한다. 

 

🖥️ Terminal

uic -g python ui.ui > ui.py

그럼 이렇게 각각의 컴포넌트에 따른 ui.py 파일이 생성되게 된다. 하지만 이를 실행시켜 보면 아무런 창이 뜨지 않는데, 이는 각각의 요소가 python 코드로 변경되었을 뿐 아직 화면에는 그려지지 않는 형태이다. 따라서 main.py 파일을 만들어 ui.py 있는 요소들을 화면에 추가하여 띄울 수 있도록 코드를 작성한다. 

 

 

🖥️ main.py

import sys

from PySide6.QtWidgets import QMainWindow, QApplication
from ui import Ui_MainWindow # 만약 파이썬 파일이름이 component.py 라면 from component .. 로 진행


class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
    
if __name__ == "__main__":
    app = QApplication()
    window = MainWindow()
    window.show()
    sys.exit(app.exec())

main.py는 ui.py에 있는 요소를 화면에 뛰워주는 역할을 하는 파이썬 파일이다. 따라서 main.py을 실행시키게 되면 정상적으로 파일이 뜨는 것을 확인할 수 있다. 

 

'FrameWork/PyQT'의 다른글

  • 현재글 파이썬으로 그래픽 인터페이스 제작하기! Pyside6 설치 및 Qt designer로 작업물 .py 파일로 변환하기

관련글