0.QLabel<--QFrame<--QWidget<--QObject and QPaintDevice
QLabel: provides a text or image display
QFrame: the base class of widgets that can have a frame
QWidget: the base class of all user interface objects
QObject: the base class of all Qt objects
QPaintDevice: the base class of objects that can be painted on with QPainter
0.QPushButton<--QAbstractButton<--QWidget<--QObject and QPaintDevice
QPushButton: provides a command button
QAbstractButton: the abstract base class of button widgets, providing functionality common to buttons
QWidget: the base class of all user interface objects
QObject: the base class of all Qt objects
QPaintDevice: the base class of objects that can be painted on with QPainter
1.QMainWindow<--QWidget<--QObject and QPaintDevice
QMainWindow: provides a main application window
QWidget: the base class of all user interface objects
QObject: the base class of all Qt objects
QPaintDevice: the base class of objects that can be painted on with QPainter
1.QDialog<--QWidget<--QObject and QPaintDevice
QDialog: the base class of dialog windows
QWidget: the base class of all user interface objects
QObject: the base class of all Qt objects
QPaintDevice: the base class of objects that can be painted on with QPainter
QApplication: manages the GUI application's control flow and main settings
QGuiApplication: manages the GUI application's control flow and main settings
QCoreApplication: provides an event loop for Qt applications without UI
QObject: the base class of all Qt objects
3.QLayout<--QObject and QLayoutItem
QLayout: the base class of geometry managers
QObject: the base class of all Qt objects
QLayoutItem: provides an abstract item that a QLayout manipulates