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이어서 생긴 문제

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
레이아웃을 포함한 어떤 위젯도 담을 수 있는 클래스