Risposte:
A QWidget
è la classe base per tutte le classi disegnabili in Qt. Qualsiasi QWidget
classe basata può essere mostrata come una finestra mostrandola quando non ha un genitore.
A QDialog
è basato su QWidget
, ma progettato per essere mostrato come una finestra. Apparirà sempre in una finestra e ha funzioni per farlo funzionare bene con i pulsanti comuni nelle finestre di dialogo (accetta, rifiuta, ecc.).
QMainWindow
è progettato intorno alle esigenze comuni di una finestra principale. Ha posizioni predefinite per una barra dei menu, una barra di stato, una barra degli strumenti e altri widget. Non ha alcuna tolleranza incorporata per pulsanti come QDialog
fa.
QMainWindow
posto della sola classe base QWidget
è che QMainWindow
ha il QDockWidget
supporto mentre QWidget
da solo non lo fa
QWidget : è una classe base per tutti gli altri elementi della GUI nel modulo QtWidgets. Può costituire una finestra a sé stante, o essere parte di un QLayout, o semplicemente un membro della gerarchia padre-figlio.
QDialog : di solito è usato per - sorprendere! - visualizzare una finestra di dialogo temporanea quando è richiesto l'input dell'utente.
QMainWindow : è una classe di convenienza che può essere utilizzata come finestra principale dell'applicazione. Ha alcune caratteristiche interessanti integrate: una barra di stato, barre degli strumenti e una barra dei menu