soma0sd

코딩 & 과학 & 교육

PyQt5: 기본적인 위젯 만들기

반응형

PyQt5

PyQt는 Qt라는 멀티플랫폼 GUI 프레임워크를 파이썬 스크립트로도 사용할 수 있도록 만든 패키지입니다. 윈도우즈 환경과 데비안이나 수세 등의 리눅스 환경, 맥을 기본적으로 지원합니다. 모바일 또한 지원하는 것으로 알려져 있습니다만, 모바일 앱 개발시에 Qt가 너무 편해서 다른 프레임워크를 사용하는 것이 부담스러운 경우가 아니라면 NUI 프레임워크를 표방하는 Kivy를 한번 살펴보시기를 추천합니다.

스크립트

"""PyQt5 시작하기
"""
import sys
from PyQt5 import QtWidgets


class MyWidget(QtWidgets.QWidget):
    """위젯 클래스
    PyQt5의 QWidget클래스를 상속받아 필요한 구현을
    추가/변경해서 사용한다.
    """
    def __init__(self):
        """위젯 초기화"""
        super().__init__()
        # 부모클래스(QWidget)으로부터 초기화 함수 실행
        self.ui_setup()

    def ui_setup(self):
        """GUI 레이아웃을 구성하는 내부함수"""
        self.setGeometry(800, 200, 300, 300)
        # 생성하는 창의 위치와 크기를 결정한다

        """구성 요소 초기화"""
        text_edit = QtWidgets.QTextEdit()
        push_button = QtWidgets.QPushButton('확인')
        layout = QtWidgets.QVBoxLayout()

        """요소를 레이아웃에 배치"""
        layout.addWidget(text_edit)
        layout.addWidget(push_button)

        """레이아웃을 현재 클래스에 등록"""
        self.setLayout(layout)


if __name__ == "__main__":
    """실행
    QApplication을 먼저 초기화 한 다음
    우리가 만든 클래스를 실행

    sys.argv는 명령줄을 통한 실행 시 옵션을 받는 부분.
    """
    APP = QtWidgets.QApplication(sys.argv)
    WINDOW = MyWidget()
    WINDOW.show()
    APP.exec_()

결과물

Windows10에서 시험한 결과입니다. 윈도우의 이름은 사용환경과 개발환경에 따라 달라질 수 있습니다.

반응형
태그:

댓글

End of content

No more pages to load