web-dev-qa-db-fra.com

Quelle est la différence entre QMainWindow, QWidget et QDialog?

Quelle est la différence entre QMainWindow, QWidget et QDialog?

101
zibib

Un QWidget est la classe de base pour toutes les classes dessinables dans Qt. Toute classe basée sur QWidget peut être affichée sous forme de fenêtre en la montrant lorsqu'elle n'a pas de parent.

Un QDialog est basé sur QWidget, mais conçu pour être affiché sous forme de fenêtre. Il apparaîtra toujours dans une fenêtre et a des fonctions pour le faire fonctionner correctement avec les boutons communs dans les boîtes de dialogue (accepter, rejeter, etc.).

QMainWindow est conçu autour des besoins courants 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 pas d'allocations intégrées pour les boutons comme QDialog.

109