CentralWidget
https://blog.csdn.net/u012627502/article/details/38613041
Qt程序中的主窗口通常具有一个中心窗口部件。从理论上来讲,任何继承自QWidget的类的派生类的实例,都可以作为中心窗口部件使用。
QMainWindow的中心区域可以被任意种类的窗口部件所占用。下面给出的是可能的情形。
-
使用标准的Qt窗口部件(Standard Widget)
像QWidget、Qlabel以及QTextEdit等等这样的标准窗口部件都可以用作中心窗口部件。 -
使用自定义窗口部件(User-Define-Widget)
有时候,某些有特殊要求的应用程序需要在自定义窗口部件中显示数据,你可以把自定义的窗口部件作为中心窗口部件。例如,你的绘图编辑器程序程序就可以使用类似名为PhotoEditor的自定义窗口部件作为自己的中心窗口部件。 -
使用一个带布局管理器的普通Widget
有时候,应用程序的中央区域会被许多窗口部件所占用。这时就可以通过使用一个作为所有这些其他窗口部件父对象的QWidget,以及通过使用布局管理器管理这些子窗口部件的大小和位置来完成这一特殊情况。 -
使用切分窗口(QSplitter)
其实,这种情况是上一种情况的一个例子。多个窗口部件一起使用的另一种方法是使用QSplitter。我们把QSplitter作为一个容器,在其中容纳其它的窗口部件,这时的中心窗口部件就是一个QSplitter。QSplitter会在水平方向或者竖直方向上排列它的子窗口部件,用户可以利用切分条(splitter handle)控制他们的尺寸大小。切分窗口可以包含所有类型的窗口部件,包括其他切分窗口。 -
使用多文档界面工作空间(QMdiArea)
如果应用程序使用的是多文档界面,那么它的中心区域就会被QMdiArea窗口部件所占据,并且每个多文档界面窗口都是它的一个子窗口界面。QMdiArea是在Qt4.3以后引入的一个支持多文档应用的类。 -
使用工作空间部件(QWorkspace)
这种情况通常用于多文档应用程序中,这时应用程序主窗口的中心部件是一个QWorkspace部件或者它的子类化部件。但这种方法在Qt4.5以后将被废弃。后面我们还会讲到它。