지난 포스팅
2022.11.21 - [기타/PyQt5 한꼬집씩만 따라해보기] - 들어가며
이번 포스팅에서는 : PyQt5 GUI의 기본 틀
이번 시간부터 약 50개 튜토리얼 형식의 짧은 포스팅들을 통해
PyQt5를 어느 정도 자유롭게 다룰 수 있고, 여러분이 원하는 GUI를 제작할 수 있도록 도움을 드리고 싶습니다.
인트로에서도 언급드린 바 있지만
이 튜토리얼에서는 객체지향 코드를 최소화하고,
최대한 단순한 절차지향 방식으로 튜토리얼을 진행할 예정입니다.
그렇게 위젯이나 레이아웃 등 PyQt5의 기본요소와 구조에 대해 집중적으로 파악하는 것을 우선으로 합니다.
이번 포스팅에서는 우리 튜토리얼 시리즈의 기본 틀에 대해 소개합니다.
먼저 아래 코드를 천천히 한 번 여러분의 에디터나 IDE에 직접 타이핑해 보시기 바랍니다.
from PyQt5.QtWidgets import QApplication, QMainWindow # 필수위젯 임포트 (필수)
app = QApplication([]) # 이벤트핸들러 생성. 괄호 안에 대괄호 == 빈 리스트 (필수)
win = QMainWindow() # 메인윈도우 생성 (필수)
# (거의 모든 경우) 여기에 위젯을 추가하게 됨
win.show() # 메인윈도우 보이기 (필수)
app.exec() # 이벤트핸들러 실행 (필수)
PyQt와 자주 비교되는 tkinter의 경우에는
메인윈도우를 tkinter.Tk()로 생성하고, 메인윈도우.mainloop() 으로 이벤트핸들러를 시작합니다.
그런데 PyQt5(이하 Qt)에서는 이 두 가지가 분리되어 있습니다.
QApplication이 이벤트핸들러, QMainWindow가 (대부분) 메인윈도우가 됩니다.
이 부분을 유념하시기 바랍니다.
그리고 주석을 보면 다섯 개 라인 전부 Qt GUI 실행에 필수인 코드들입니다.
이 뼈대, 다섯 줄의 코드는 꼭 암기해 주시기 바랍니다.
우리가 진행하는 50여개의 튜토리얼 대부분 이 뼈대 위에서 시작할 예정이니까요.
그리고, 저는 이 튜토리얼을 파이참으로 진행할 예정입니다.
여러분도 파이참을 이용하고 계시면 좋겠습니다. (필수는 아닙니다.)
튜토리얼을 진행하면서 파이참의 편리한 기능을 활용하는 팁을 종종 알려드리고 싶거든요.
그럼 위 코드를 실행해볼까요?
화면 중앙 근처에 빈 창이 하나 생성되었습니다.
비록 지금은 텅 빈 창이라서 별 것 아닌 것처럼 보이지만,
QMainWindow를 절대 무시하면 안 됩니다.
무려 백 개 가까이 되는 메서드가 내장되어 있는 강력한 위젯이기 때문입니다.
몇 줄의 코드만 추가하면 메뉴바, 탭, 상태표시줄, 툴바 등의 요소를 추가할 수 있고,
다양한 이벤트를 활용해서 쿨한 GUI를 만들 수 있답니다.
(파이참에서) 코드 중 QMainWindow에 대고 Ctrl-B를 눌러보면
QMainWindow를 정의하는 코드로 찾아갈 수 있습니다.
어마어마하게 많은 메서드(클래스의 함수)가 미리 준비되어 있습니다.
물론 이들을 전부 다루지는 않겠습니다. 지쳐요ㅜ
대신 가장 중요하다고 생각되는 몇 가지만 가볍게 다뤄볼 예정입니다.
그럼 다음 포스팅에서 만나요!
다음 포스팅
2022.11.21 - [기타/PyQt5 한꼬집씩만 따라해보기] - 2. QMainWindow의 엄마, QWidget
'GUI 튜토리얼 > PyQt5 한꼬집씩만 따라해보기' 카테고리의 다른 글
3. 어떤 위젯도 최상위 윈도우가 될 수 있다? (0) | 2022.11.21 |
---|---|
2. QMainWindow의 엄마, QWidget (0) | 2022.11.21 |
들어가며 (0) | 2022.11.21 |
댓글