본문 바로가기
프로그래밍/python

PyQt5를 사용하여 간단한 창을 띄우는 프로그램 만들기

by 마루의 일상 2024. 4. 30.
728x90
반응형

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        # 창 타이틀 설정
        self.setWindowTitle("나의 첫 PyQt5 애플리케이션")

        # 창 크기 설정
        self.setGeometry(100, 100, 400, 200)

        # 라벨 생성
        self.label = QLabel("안녕하세요, PyQt5!", self)

        # 라벨 위치 및 크기 설정
        self.label.setGeometry(150, 80, 200, 30)

if __name__ == "__main__":
    # QApplication 인스턴스 생성
    app = QApplication(sys.argv)

    # MainWindow 인스턴스 생성
    window = MainWindow()

    # 창 보이기
    window.show()

    # 이벤트 루프 시작
    sys.exit(app.exec_())

 

코드 설명

  • import sys: 시스템 관련 기능을 사용하기 위한 모듈을 임포트합니다.
  • from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel: PyQt5 모듈에서 QApplication, QMainWindow, QLabel 클래스를 임포트합니다. 이들은 각각 애플리케이션, 메인 윈도우, 라벨 위젯을 나타냅니다.
  • class MainWindow(QMainWindow):: MainWindow 클래스를 선언합니다. 이 클래스는 QMainWindow를 상속받아 메인 창을 만듭니다.
  • def __init__(self):: MainWindow 클래스의 생성자 메서드를 정의합니다.
  • super().__init__(): 부모 클래스인 QMainWindow의 생성자를 호출합니다.
  • self.setWindowTitle("나의 첫 PyQt5 애플리케이션"): 메인 윈도우의 제목을 설정합니다.
  • self.setGeometry(100, 100, 400, 200): 메인 윈도우의 위치와 크기를 설정합니다. (x, y, width, height)
  • self.label = QLabel("안녕하세요, PyQt5!", self): "안녕하세요, PyQt5!"라는 텍스트를 포함하는 라벨 위젯을 생성하고, 메인 윈도우에 배치합니다.
  • self.label.setGeometry(150, 80, 200, 30): 라벨 위젯의 위치와 크기를 설정합니다. (x, y, width, height)
  • if __name__ == "__main__":: 스크립트가 직접 실행될 때만 아래의 코드 블록을 실행합니다.
  • app = QApplication(sys.argv): QApplication 클래스의 인스턴스를 생성합니다. 이는 PyQt5 애플리케이션을 초기화합니다.
  • window = MainWindow(): MainWindow 클래스의 인스턴스를 생성합니다.
  • window.show(): 메인 윈도우를 화면에 표시합니다.
  • sys.exit(app.exec_()): 이벤트 루프를 시작하고, 애플리케이션의 종료 코드를 반환합니다.

프로그램은 "나의 첫 PyQt5 애플리케이션"이라는 창을 띄우고 그 안에 "안녕하세요, PyQt5!"라는 텍스트를 표시합니다. 

 

728x90
반응형