Odpowiedzi:
A QWidget
jest klasą bazową dla wszystkich klas rysowalnych w Qt. Dowolną QWidget
klasę bazującą można wyświetlić jako okno, pokazując ją, gdy nie ma rodzica.
QDialog
Opiera się na QWidget
, ale przeznaczone do pokazany jako okno. Zawsze pojawi się w oknie i ma funkcje, które sprawiają, że dobrze współpracuje z typowymi przyciskami w oknach dialogowych (zaakceptuj, odrzuć itp.)
QMainWindow
jest zaprojektowany wokół typowych potrzeb, jakie musi mieć okno główne. Ma predefiniowane miejsca na pasek menu, pasek stanu, pasek narzędzi i inne widżety. Nie ma żadnych wbudowanych limitów dla przycisków, takich jak QDialog
ma.
QMainWindow
zamiast tylko klasy bazowej, QWidget
jest to, że QMainWindow
ma QDockWidget
wsparcie, podczas gdy QWidget
sam nie
QWidget : jest klasą bazową dla wszystkich innych elementów GUI w module QtWidgets. Może stanowić samo okno, być częścią QLayout lub tylko członkiem hierarchii nadrzędny-podrzędny.
QDialog : jest zwykle używany do - niespodzianka! - wyświetla tymczasowe okno dialogowe, gdy wymagane jest wprowadzenie danych przez użytkownika.
QMainWindow : to wygodna klasa, której można używać jako głównego okna aplikacji. Ma wbudowane kilka fajnych funkcji: pasek stanu, paski narzędzi i pasek menu