1,常用布局
1)基本布局管理器【QHBoxLayout】
使子部件在水平或者垂直方向排成一列
2)栅格布局管理器【QGridLayout】
将所有的空间分割成一些行和列,行和列的交叉处形成单元格,然后将部件放入一个确定的单元格中。
3)窗体布局管理器【QFormLayout】
管理表单的输入部件以及与它们相关的标签。
4)综合使用布局管理器
2,设置部件大小
1)大小提示(setHint),最小大小提示(minimumSizeHint)
setHint:保存部件的建议大小,不同部件,拥有不同的setHint
minimumSizeHint:保存建议的最小大小提示
如果使用setMinimumSize()设置了大小,最小大小提示将会被忽略。
大小策略(sizePolicy)【保存了部件的默认布局行为】:在水平和垂直方向起作用,
setHint设置为100后,高度并没有达到100,但是将设置setType的Expanding改为Fixed,马上增高了,现在的实际高度才是setHint的高度。
2)伸缩因子 (stretch factor)
horizontalLayout设置为(2,1),那么它们的比列为2:1
layoutSizeContraint:约束窗口大小,只对顶级布局管理器有用,其他子部件没有用。
3,可扩展窗口
一个窗口的很多选项是扩充的,只有在必要的时候才显示出来,这时就可以使用一个按钮来显示或者隐藏多余的内容。
先讲文本框隐藏:
把button的选择taggled(bool)的槽信号,
定义其按钮作用:
4,分裂器(QSplitter)
分类器拥有QWidget的特性,是可见的,而且可以像QFrame一样设置边框。
包含在其中的部件,可以随着分类器的大小变换而变化的。
eg,一个按钮放在布局管理器中,它的垂直方向默认是不会被拉伸的,但是放到分裂器中就可以被拉伸。
应用:
同时选择四个button,然后右键,选择布局-使用分裂器水平布局;
效果图
5,伙伴
为了方便定位,QLabel提供了一个有用的机制,就是提供助记符来定位键盘焦点到对应的部件上,而这个部件就叫QLabel的伙伴。
助记符:加速符。
使用:
使用英文标签时,在字符串的一个字母前添加“&”符号,就可以指定这个标签的加速键是Alt+ 这个字母;
对于中文,需要在小括号中指定一个加速字母,eg(&N)
操作:
点击编辑伙伴图标进入伙伴设计模式(有一点像书签?一样的图标),
分别将各个标签与它们后面的部件关联起来。
6,设置Tab键顺序
点击编辑Tal图标进入伙伴设计模式(写着123的),
点击这些数字,就可以更改顺序。
等价于在MyWidget类的构造函数中使用如下代码:
7,使用定位器
Mac是command+K
windows是control+K
使用方法:“前缀符号+空格+要定位的内容”
eg.打开定位器后
输入l 8 (第一个是英文字母l和空格和8) ;按下会车就会跳转到编辑模式的第8行