PyQt에 대해 알아보기 위해 "파이썬과 Qt6로 GUI 애플리케이션 만들기" 라는 책을 샀다.

 

지금부터 책을 읽어가면서 공부한 내용들을 해당 블로그를 통해 기록하려고 한다. 

 

PyQt란?


그럼 PyQt란 무엇인가? 책에서는 굉장이 두서가 길고 복잡하게 아래와 같이 설명한다. 

 

"QT는 크로스플랫폼 GUI 애플리케이션을 만들기 위한 무료 오픈소스 위젯 툴킷으로, 애플리케이션이 단일 코드 베이스로 윈도우, 맥OS, 리눅스, 안드로이드의 여러 플랫폼을 대상으로 할 수 있다...."

 

쉽게, 아래와 같이 정리 할 수 있는데.

1. 무료이고...

2. GUI애플리케이션이다??

3. 그리고 여러 플랫폼을 대상으로 만들 수 있다. 

 

이 정도만 알고 그러면 한 번 진행을 해보자.

 

 

PyQt시작하기


 

먼저 IDE 환경을 실행한다. (본인은 Pycharm을 사용한다.)

 

새로운 프로젝트를 실행시킨다.

 

1. FILE > New project 를 열어 실행한다.

2. 프로젝트 이름을 설정한다. (나는 기본 프로젝트이름 pythonProject1을 사용했다.

3. 가상환경 설정을 위해 콘다를 하고 python버전은 3.9>을 보통 사용한다.

4. 설정이 완료되면 create

5. 터미널 환경에서 PyQt를 설치한다. -> "pip install PyQt5"

 

 

 

이제 환경설정은 모두 완료가 되었다.

 

PyQt로 간단한 애플리케이션을 실행시켜보자.

 

코드는 다음과 같다.

# PyQt 클래스를 임포트한다. 애플리케이션 핸들러인 QApplication, 기본 빈 GUI위젯인 QWidget
from PyQt5.QtWidgets import QApplication, QWidget
import sys


def main():

# 애플리케이션에 전달된 커맨드라인 인수가 포함된 파이썬 리스트인 sys.argv를 전달하는 QApplication인스턴스를 생성
    app = QApplication(sys.argv)
    # QWidget인스턴스 생성
    window = QWidget()
    window.show()
    app.exec()

if __name__ == "__main__":
    main()

 

 

위 코드를 실행하면 다음과 같은 빈 창이 하나가 뜬다. 

 

 

이제 코드를 분석해보려고 하는데, 모르는게 생각보다 많다. 

 

    app = QApplication(sys.argv)
    window = QWidget()
    window.show()
    app.exec()

 

결국은 QApplication을 실행하고, 안에서 window위젯이 실행되는것 같은데, 그러면 sys.argv는 뭐고? QApplication, QWidget은 무엇인가??? 이 부분은 다음에 내용을 정리해보려고 한다.

 

 

참고

-  도서  "파이썬과 Qt6로 GUI 애플리케이션 만들기"

 

 

+ Recent posts