Réponses:
A QWidget
est la classe de base pour toutes les classes dessinables dans Qt. Toute QWidget
classe basée sur une base peut être affichée comme une fenêtre en l'affichant lorsqu'elle n'a pas de parent.
A QDialog
est basé sur QWidget
, mais conçu pour être affiché comme une fenêtre. Il apparaîtra toujours dans une fenêtre, et a des fonctions pour le faire fonctionner correctement avec les boutons communs sur les boîtes de dialogue (accepter, rejeter, etc.).
QMainWindow
est conçu autour des besoins communs d'une fenêtre principale. Il a des emplacements prédéfinis pour une barre de menus, une barre d'état, une barre d'outils et d'autres widgets. Il n'a aucune allocation intégrée pour les boutons comme le QDialog
fait.
QMainWindow
au lieu de la classe de base uniquement QWidget
est qu'elle QMainWindow
a un QDockWidget
support alors que la QWidget
seule ne le fait pas
QWidget : est une classe de base pour tous les autres éléments de l'interface graphique du module QtWidgets. Il peut constituer une fenêtre en soi, ou faire partie d'un QLayout, ou simplement un membre de la hiérarchie parent-enfant.
QDialog : est généralement utilisé pour - surprendre! - afficher une boîte de dialogue temporaire lorsqu'une entrée utilisateur est requise.
QMainWindow : est une classe de commodité qui peut être utilisée comme fenêtre principale de votre application. Il a quelques fonctionnalités intéressantes intégrées: une barre d'état, des barres d'outils et une barre de menus