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
'프로그래밍 > PyQt' 카테고리의 다른 글
4. QPushButton란? _ PyQt와 친해지기 (with 시그널, 슬롯) (0) | 2024.05.15 |
---|---|
3. QMainWindow란? _ PyQt와 친해지기 (with super().__init()) (0) | 2024.05.13 |
1. PyQt란? _ PyQt와 친해지기 (0) | 2024.05.06 |