Was ist der Unterschied zwischen QMainWindow, QWidget und QDialog?
quelle
Was ist der Unterschied zwischen QMainWindow, QWidget und QDialog?
A QWidget
ist die Basisklasse für alle zeichnbaren Klassen in Qt. Jede QWidget
Klasse auf Basis kann als Fenster angezeigt werden, indem sie angezeigt wird, wenn sie kein übergeordnetes Element hat.
A QDialog
basiert auf QWidget
, ist jedoch so konzipiert, dass es als Fenster angezeigt wird. Es wird immer in einem Fenster angezeigt und verfügt über Funktionen, mit denen es mit allgemeinen Schaltflächen in Dialogen (Akzeptieren, Ablehnen usw.) gut funktioniert.
QMainWindow
ist auf die allgemeinen Bedürfnisse eines Hauptfensters ausgelegt. Es verfügt über vordefinierte Stellen für eine Menüleiste, eine Statusleiste, eine Symbolleiste und andere Widgets. Es gibt keine eingebauten Zulassungen für Tasten wie dies der QDialog
Fall ist.
QMainWindow
anstelle der Basisklasse verwendenQWidget
QMainWindow
QDockWidget
QWidget
QWidget : ist eine Basisklasse für alle anderen GUI-Elemente im QtWidgets-Modul. Es kann ein Fenster für sich bilden oder Teil eines QLayout oder nur ein Mitglied der Eltern-Kind-Hierarchie sein.
QDialog : wird normalerweise verwendet, um - zu überraschen! - Zeigen Sie einen temporären Dialog an, wenn Benutzereingaben erforderlich sind.
QMainWindow : ist eine Komfortklasse , die als Hauptfenster Ihrer Anwendung verwendet werden kann. Es hat einige nette Funktionen eingebaut: eine Statusleiste, Symbolleisten und eine Menüleiste
quelle