QT布局主要是在随窗口变动的时候使用,类似于WTL/MFC的ResizeDialog,但是要灵活和强大的多。
QT布局首先要有一个“顶级窗口布局”,也就是窗口Widget的根布局root layout,当使用QWidget.setlayout函数的时候,就是设置这个顶层布局。
如下图,没有布局的窗口有一个红色禁止圆圈
而已经有顶层布局的,在属性有layout属性。
如果布局嵌套,那么也必须有顶层布局,否则布局嵌套无效。
如果要顶层布局,必须要在窗口内放置一个控件以后,工具条的布局属性才能操作。否则无效操作。
这几点初学者要注意。
在QMainWindow中,其实是设置centralWidget的根布局。比如像QMainWindow、QDockWindow之类,可以只用通过 setCentralWidget、setWidget等函数设置其他控件 。比如QTabWidget、QSplitter控件 。直接获取窗口随动。