PyQt5 QMainWindow vs QWidget

김유상·2022년 11월 21일
0

ICT인턴십

목록 보기
21/21

Qt를 사용하다 보면 윈도우와 위젯의 차이가 모호하게 느껴질 때가 있어서 이렇게 정리해보았다.

QMainWindow : 최상위 위젯이 되어 메뉴바, 상태 표시줄 과 같은 항목들이 정의된 레이아웃. 이때, 새롭게 QMainWindow가 생성되면 자동으로 Qwidget이 하위 자식으로 만들어진다. 이 QWidget을 사용하거나 새로운 QWidget을 정의하고 그 위에 사용하고 싶은 기능의 위젯을 레이아웃에 맞춰 배치하면 된다.

QWidget: 화면에 표시할 수 있는 것을 목적으로 한다. 메뉴바 및 상태 표시줄을 정의하지 않는다.

결론: 둘 다 창으로서 사용할 수 있음. 사용할 윈도우를 클래스로 정의할 때 QMainWindow 또는 QWidget 중에 어떤 것을 상속받더라도 문제없이 윈도우를 구성할 수 있지만 메뉴바와 상태 표시줄이 필요한 경우 QMainWindow를 사용하여야 한다.

Referenced: https://coding-kindergarten.tistory.com/171, https://www.inflearn.com/questions/205985

profile
continuous programming

0개의 댓글