PyQt5- QMainWindow 클래스를 이용한 간단한 윈도우 만들기
본문 바로가기
파이썬(Python)/파이썬 GUI(PyQt5 & tkinter)

PyQt5- QMainWindow 클래스를 이용한 간단한 윈도우 만들기

by 만초손겸수익 2020. 11. 21.

이번 포스트에서는 윈도우를 간단하게 띄워보도록 하겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys
from PyQt5.QtWidgets import *
 
class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("내가만든 윈도우")
        self.setGeometry(200,300,500,500)
 
if __name__=='__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    app.exec_()
cs

갑자기 코드가 어려워졌네요.

 

이 코드를 이해하기 위해서는 우선 'Class'개념을 이해해야 합니다. 개인적으로 쉽지 않았습니다.

 

Class 개념은 제가 설명할 수 있는 범위를 벗어나서 아래 링크를 참고하시기 바랍니다.

wikidocs.net/28

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

"class MyWindow(QMainWindow):" 

MyWindow라는 이름으로 'QMainWindow'라는 클래스를 상속받는 클래스를 생성 합니다.

 

"def __init__(self):"

해당 클래스가 시작될때 가장 먼저 시작할 수 있도록 하는 함수입니다.

 

"super().__init__()"

super 는 생성자인 QMainWindow의 클래스를 먼저 시작할 수 있도록 합니다.

 

"self.setWindowTitle("내가만든 윈도우")"

만드는 윈도우의 타이틀을 입력합니다.

 

"self.setGeometry(200,300,500,500)"

윈도우의 위치와 크기를 지정합니다.

 

"if __name__=='__main__':"

'__main__'은 현재 창에서 실행되는 건지 모듈에서 실행되는 건지를 보여줍니다.

 

모듈에서가 아니라 현재 창에서 실행될 경우에만 다음코드를 실행해라는 의미 입니다. 자세한 설명은 아래 링크를 참고하시기 바랍니다.

 

dojang.io/mod/page/view.php?id=2448

 

파이썬 코딩 도장: 45.2 모듈과 시작점 알아보기

인터넷에 있는 파이썬 코드를 보다 보면 if __name__ == '__main__':으로 시작하는 부분을 자주 만나게 됩니다. if __name__ == '__main__':     코드 도대체 이 코드는 왜 사용하는 것일까요? 이 코드는 현재

dojang.io

 

잘 실행 되네요.

 

제 경험상 무조건 이해하고 다음 단계로 넘어가기 보다는 일단 이런 패턴이 있구나 하며 다음단계로 바로 넘어가는 것이 더 효율적인 것 같아요.

 

대부분의 비전공자의 코딩 목표는 '활용'이지 '이해'는 아니잖아요. 결국 이런 패턴만 활용할 줄 안다면 이해는 차차 되지 않을까요?

 

 

 

728x90
반응형

댓글