Qt的布局管理系统使用起来简单方便、功能强大,可以自动的对某个widget下的子widget进行合理化布局,充分的使用所有可用的空间。
概述
Qt有一系列的布局管理类,用来描述在交互界面上这些子部件如果排列。当子部件的位置、大小改变后,这些个布局管理类会自动处理子部件的空间位置、大小,使之可以整齐的排列起来。
所有的QWidget子类都可以使用布局管理类来排列其子widget。调用QWidget::setLayout()函数可以指定该widget使用什么样的布局方式。当某个widget被指定布局时,该布局将会自动的完成如下的动作:定位子widget的位置
设置windows的默认大小
设置windows的最小大小
重新调整大小
当如下部分更改时自动调整更新:
(1) 字号、text内容
(2) 显示/隐藏某widget
(3) 删除某widget
Qt的布局管理类
Qt的这些布局管理类是专门为手敲代码进行布局而设计的,并且布局的精度以像素为单位。Qt Designer这种可视化布局的时候也同样使用了这些布局管理类。用Qt Designer设计表单有个好处,就是这些布局避免了编译、链接、循环运行。QGraphicsAnchor(在QGraphicsAnchorLayout中表示两个item的锚点);
QGraphicsAnchorLayout(在Graphics View中一个item链接到widget的锚点的布局);
QBoxLayout(水平/垂直布局);
QHBoxLayout(水平布局);
QVBoxLayout(垂直布局);
QFormLayout(表单布局);