프로그램 파이썬 공부

파이썬 ui 프로그래밍 실습 feat. PyQT5, PyQT-tools(designer) 1장

블로그하는프로그래머 2022. 1. 27. 10:50

파이썬으로 개발을 하다보니 윈도우나 os 의 GUI 에서 프로그래밍 하는거에 재미가 들려 공부를 해보았다.

그 내용을 포스팅 해보고 자 한다.

준비 tool :

- VS CODE(개발 편집프로그램)

- python 3.9 이하 버전 3.10 부터는 2022-01-27 기준 지원이 안됩니다.

    - https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

- pyqt5 설치 

    - pip install pyqt5

- pyqt5-tools 설치

   - pip install pyqt5-tools

 

위에 내용을 전부 설치 했다면 vscode 에서 터미널을 열고 버전과 설치 확인을 합니다.

vscode 터미널 여는 단축키 : ctrl + shift + `

명령어 : python --version

pyqt5, pyqt5-tools 설치 확인

명령어 : pip list (pip 설치된 리스트 출력 한다.)

 

간단한 화면 출력 프로그램밍을 해봅니다.

#pyqt5_example.py

# 명령행 인수를 GUI에 전달할 수 있도록 sys를 import 한다.
import sys  
# PyQt5 패키지에서 QtWidgets 모듈에 있는 QApplication 및 QWidget 클래스를 import 한다.
from PyQt5.QtWidgets import QApplication, QWidget  

# 추가 명령행 이수를 전달할 수 있도록 sys.argv로 전달해 QApplication 클래스의 인스턴스를 생성 한다.
# 이 인스턴스를 app 변수에 저장 한다.
# 이렇게 하면 애플리케이션이 만들어 진다.
app = QApplication(sys.argv)
# QWidget 클래스의 인스턴스를 만들고 GUI가 된다.
# 이 인스턴스를 gui라는 로컬 변수에 저장 한다.
gui = QWidget()
# GUI를 볼 수 있도록 gui 클래스 인스턴스의 show 메서드를 호출한다.
gui.show()
# 어블리케이션 클래스 인스턴스에서 exec_ 메서드를 호출해 애플리케이션을 실행한다.
# 발생할 수 있는 예외 사항을 파악하기 위해 호출을 sys.exit 내에 래핑 한다.
# 에외가 발생하면 파이썬 애플리 케이션이 정상적으로 종료 되고 충돌하지 않는다.
sys.exit(app.exec())
 

 

타이틀을 변경 해 봅니다.

코드 중간에 gui.setWindowTitle('PyQt5 GUI'코드를 추가 하여 gui 의 타이틀을 변경 합니다.

#pyqt5_example.py

# 명령행 인수를 GUI에 전달할 수 있도록 sys를 import 한다.
import sys  
# PyQt5 패키지에서 QtWidgets 모듈에 있는 QApplication 및 QWidget 클래스를 import 한다.
from PyQt5.QtWidgets import QApplication, QWidget  

# 추가 명령행 이수를 전달할 수 있도록 sys.argv로 전달해 QApplication 클래스의 인스턴스를 생성 한다.
# 이 인스턴스를 app 변수에 저장 한다.
# 이렇게 하면 애플리케이션이 만들어 진다.
app = QApplication(sys.argv)
# QWidget 클래스의 인스턴스를 만들고 GUI가 된다.
# 이 인스턴스를 gui라는 로컬 변수에 저장 한다.
gui = QWidget()

# 타이틀을 변경 합니다.
gui.setWindowTitle('PyQt5 GUI')

# GUI를 볼 수 있도록 gui 클래스 인스턴스의 show 메서드를 호출한다.
gui.show()
# 어블리케이션 클래스 인스턴스에서 exec_ 메서드를 호출해 애플리케이션을 실행한다.
# 발생할 수 있는 예외 사항을 파악하기 위해 호출을 sys.exit 내에 래핑 한다.
# 에외가 발생하면 파이썬 애플리 케이션이 정상적으로 종료 되고 충돌하지 않는다.
sys.exit(app.exec())
 

2장에서는 객체지향 코드로 변경 해 보도록 하겠습니다.

파이썬 ui 프로그래밍 실습 feat. PyQT5, PyQT-tools(designer)