一、
QMainWindow:带有菜单栏、工具栏的主窗口类,QDialog:是各种对话框的基类,它们全部继承自QWidget,其实所有的窗口部件都继承自QWidget。QWidget继承自QObject和QPaintDevice类,其中QObject类是所有支持Qt对象模型(Qt QObject Model)的基类,QPaintDevice类是所有可以绘制的对象的基类。
二、Qt窗口部件、窗口类型、几何布局
QWidget的构造函数有两个参数:QWidget * parent = 0 和Qt::WindowFlags f =0,前面的parent就是指父窗口部件,默认值为0,表明没有父窗口;而后面的f参数是Qt::WindowFlags类型,是一个枚举类型,分为窗口类型(WindowType)和窗口标志(WindowFlags)。前者可以定义窗口的类型,比如f =0表明使用了Qt::Widget一项,这是QWidget的默认类型,这种类型的部件如果有父窗口,那么他就是子部件,否则就是独立的窗口。窗口标志的作用是更改窗口的标题栏和边框,而且可以和窗口类型进行位或操作。QWidget中还有一个setWindowState()函数可以用来设置窗口的状态,比如最大化Qt::WindowMaximized、最小化Qt::WindowMinimized和全屏显示Qt::WindowFullScreen等,这个函数的默认设置为Qt::WindowNoState。窗口的几何布局
对于一个窗口要设置它的大小和运行时出现的位置,根据是否包含边框和标题栏两种情况,要使用不同的函数来获取包含框架:x()、y()、frameGeometry()、pos()、move()