[PyQt5] QMainWindow와 QWidget

여지윤·2024년 10월 2일

PyQt

목록 보기
1/2

PyQt 공부 중 아래 코드가 실행되지 않았다.

class MyApp(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.statusBar().showMessage('Ready')

        self.setWindowTitle('My First Applcation')
        self.setWindowIcon(QIcon('web.png'))
        self.setGeometry(300, 300, 300, 200)
        self.show()

오류 내역은 아래와 같다.

AttributeError: 'MyApp' object has no attribute 'statusBar'. Did you mean: 'statusTip'?

상속받는 클래스가 QMainWindow가 아닌 QWidget이어서 생긴 문제


QT 클래스 계층도

QMainWindow는 다음과 같이 정의되어 QWidget을 상속받는다.

class QMainWindow(QWidget):
    """ QMainWindow(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) """
    def actionEvent(self, *args, **kwargs): # real signature unknown
        pass

QMainWindow


기본 윈도우(상, 하단바, 툴바 등을 포함한 최상위 윈도우)를 위해 구성된 클래스

QWidget

레이아웃을 포함한 어떤 위젯도 담을 수 있는 클래스


참고 사이트

profile
KNU CSE 20

0개의 댓글