QT中如何使控件随窗口改变大小?
1个回答
展开全部
这里我们一般可以对窗口整体进行布局,我们要用到Layout布局部件。
Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,
然后再往GridLayout里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变布局内的控件的大小,而相对的位置不变。
使用布局时,在复杂的情况下,需要结合很多的手段才可以达到理想的效果,而且一般使用手写代码更为方便。
有几个因素供参考:
1.大小提示(size hint)和最小大小提示(minimum size hint)
2.大小策略(size policy)
3.伸缩因子(stretch factor)
4.大小约束(size constraint)
5.空白(margin)和间距(spacing)
还有,对于布局而言,对于一个窗口,要达到你说的那个基本目标,首要的就是要设置顶级布局(Top Level Layout)。比
如用designer时要注意, 要点中外层的widget然后选layout, 而不是选中若干子控件再选layout, 因为后者的layout和外
层的widget没有建立起联系, 这样就不会随着widget的大小改变而改变了。
Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,
然后再往GridLayout里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变布局内的控件的大小,而相对的位置不变。
使用布局时,在复杂的情况下,需要结合很多的手段才可以达到理想的效果,而且一般使用手写代码更为方便。
有几个因素供参考:
1.大小提示(size hint)和最小大小提示(minimum size hint)
2.大小策略(size policy)
3.伸缩因子(stretch factor)
4.大小约束(size constraint)
5.空白(margin)和间距(spacing)
还有,对于布局而言,对于一个窗口,要达到你说的那个基本目标,首要的就是要设置顶级布局(Top Level Layout)。比
如用designer时要注意, 要点中外层的widget然后选layout, 而不是选中若干子控件再选layout, 因为后者的layout和外
层的widget没有建立起联系, 这样就不会随着widget的大小改变而改变了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询