Qt中QWidget、QMainWindow、QDialog的区别
1:QWidget, 帮助文档里很简单地说了一些“QWidget类是所有用户界面对象的基类。窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。”几乎没什么用,然而一般情况下,继承Qwidget就不会有什么问题。
2:QDialog, 这是对话框,多的不用解释了,详细资料去查看帮助文档
3:QMainWindow,现在还没完全掌握,就知道:继承QMainWindow,可以使用如:MenuBar()创建菜单栏,工具栏等,而Qwidget没有,使用QLayout会没有用,提示是:QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
就算在QWidget中,使用QLayout,如 mainLayut = new QHBoxlayout(this),也会报这样信息,所以一般在使用QLayout时,不加 (this)

浙公网安备 33010602011771号