답변:
A QWidget
는 Qt의 모든 드로어 블 클래스의 기본 클래스입니다. 모든 QWidget
기반 클래스는 부모가 없을 때 표시하여 창으로 표시 할 수 있습니다.
A QDialog
는를 기반으로 QWidget
하지만 창으로 표시되도록 설계되었습니다. 항상 창에 나타나며 대화 상자의 공통 버튼 (수락, 거부 등)과 잘 작동하도록하는 기능이 있습니다.
QMainWindow
메인 윈도우에 필요한 일반적인 요구 사항을 중심으로 설계되었습니다. 메뉴 모음, 상태 표시 줄, 도구 모음 및 기타 위젯에 대한 미리 정의 된 위치가 있습니다. 같은 버튼에 대한 기본 제공 허용이 없습니다 QDialog
.
QMainWindow
대신 기본 클래스의는 QWidget
즉 QMainWindow
이 QDockWidget
반면 지원을 QWidget
혼자하지 않습니다
QWidget : QtWidgets 모듈의 다른 모든 GUI 요소에 대한 기본 클래스입니다. 자체적으로 창을 구성하거나 QLayout의 일부이거나 부모-자식 계층의 구성원 일 수 있습니다.
QDialog : 일반적으로 사용되는-놀라움! -사용자 입력이 필요한 경우 임시 대화 상자를 표시합니다.
QMainWindow : 응용 프로그램의 기본 창으로 사용할 수있는 편의 클래스입니다. 몇 가지 멋진 기능이 내장되어 있습니다 : 상태 표시 줄, 도구 모음 및 메뉴 표시 줄