问题描述
先放一个链接:Qt解决splitter活动范围过大
在UI完善的过程中,发现即使对splitter活动范围添加了限制(如何添加限制见上面链接),有时也不能将UI界面完美显示,发现界面显示总是过于小。
解决办法
- 先观察你的UI设计界面中mainwindow的界面是否有自行拉大,因为刚开始Qt所设置的UI布局界面大小比较小,但随着组件的增多这个大小可能会不够使用,因此应将界面拉大,比如,放两个对比图:
其次,通过观察发现,实际上,在UI设计界面,你所调整的mainwindow窗口界面的大小,将对应调试时小窗口的大小,这很重要。 - 要想让组件分布是最合理的大小,一定要设置最小大小,点击组件,右侧属性栏中找到minimumSize,设置对应大小,这个大小将反作用于splitter组件,并覆盖splitter组件所设定的最小大小。这样实际上splitter所决定的大小将被限定在上组件最小大小和下组件最小大小所决定的移动空间之间。
- 除此之外,若没有设定最小大小,也可以设置splitter的属性,来对页面进行响应比例的分配。
方法1:
这将使得组件以1:2的大小比例在窗口显示;第一个参数是splitter所分开的组件对应号,第二个为比例值。ui->splitter->setStretchFactor(0, 1); ui->splitter->setStretchFactor(1, 2);
方法2:
点击splitter,在右侧属性界面中设置水平策略、垂直策略,并设置伸展比例,如下图: