关于qt的布局管理

来源:互联网 发布:php考试题以下代码在再 编辑:程序博客网 时间:2024/05/22 19:33

这里只说说GridLayout。

因本人只是用到了这个,开始搞了好久,始终不能让窗体部件自动适应窗体大小。

后来才知道要先把自己需要的各个部件都拖进主窗体后,要点中外层的widget然后选layout, 而不是选中若干子控件再选layout, 因为后者的layout和外层的widget没有建立起联系, 这样就不会随着widget的大小改变而改变了。

开始始终没发现,都是直接选中部件,在使用布局管理器的!

在QGridLayout添加widget方法--addWidget(QWidget , int , int , int , int)总,第一个int变量是widget的起始行数即(row),下一个是起始列数(即column),下一个是为所跨的行数,最后一个是所跨的列数.需要注意的是,在widget的起始行数不为0时,所跨行数最小不可以为0,最少必须是widget所在的行数.列数同样如此.否则控制台将报错,实际上的界面也运行不起来(直接就挂了).例如现在添加一个QLineEdit的起始行列数为(1 , 1),则所跨行数/列数不可再为(0 , 0),最小为(1 , 1).知道了这一点,接下来添加自己需要的效果的Widget就比较容易了.

有几个因素供参考:1.大小提示(size hint)和最小大小提示(minimum size hint)2.大小策略(size policy)3.伸缩因子(stretch factor)4.大小约束(size constraint)5.空白(margin)和间距(spacing)

0 0