1장에서 간단하게 PyQt를 통해 윈도우 창을 켜봤다. 

 

간단한 코드에서도 모르는게 많아 정리하고 넘어가려고 한다.

 

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

 

QApplication이란 무엇인가? 

 

책에서는 Qt어플리케이션의 핵심이 QApplication 클래스라고 한다. 

 

"QApplication은 애플리케이션의 이벤트 루프이며, 즉 GUI(윈도우)와 모든 상호자의 상호작용을 제어하는 핵심 루프이다."

 

 

 

쉽게 말하면 아래와 같다. 

 

1. 키를 누르거나 마우스를 클릭 = 이벤트 생성

2. 이벤트 루프의 분기마다 대기중인 이벤트를 확인 > 이벤트 핸들러로 전달

3. 해당 이벤트를 처리

4. 다른 이벤트를 기다림

 

다시 말해 생성한 GUI와 사용자가 소통을 하기위해서 필요한 Event loop였던것. 

해당 내용을 기반으로 아래 코드를 이해하자면,

 

# 1. QApplication에서는 sys.argv 즉 main.py를 받고 app의 변수에 넣는다.

    app = QApplication(sys.argv)

# 2. QWidget이 윈도우를 show
    window = QWidget()
    window.show()

# 3. 해당 내용을 app(QApplication)에서 실행한다. 
    app.exec()

 

 

 

참고

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

- https://velog.io/@toezilla/BeYourself-PyQt-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC

 

+ Recent posts