QT中如何使控件随窗口改变大小?
2015-03-24 20:42
561 查看
如果要改变窗体的大小,它内部的控件一般不随它的变化而变化,内部部件怎么随窗体的大小而改变自身的大小呢?这里我们一般可以对窗口整体进行布局,我们要用到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的大小改变而改变了。
相关文章推荐
- QT中控件如何随着窗口大小的改变而使它充满整个窗口空间
- QT中如何使ui中的控件随窗口改变大小?
- QT中如何使控件随窗口改变大小?
- Qt中如何让控件自适应窗口大小
- QT中如何让控件跟随随窗口大小变化
- QT5如何让控件随着窗口大小改变而缩放(图示)
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- 在.Net的WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- (转)C#如何在运行时通过鼠标拖动改变控件的大小
- 再谈布局控件"WeifenLuo.WinFormsUI.Docking"的使用--如何控制自动停靠窗口的大小
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
- 如何让 firefox 的窗口大小不再被网页脚本改变
- 改变窗口大小时,其内部的各个控件也自动改变大小
- 控件随窗口大小的改变而改变
- mfc中控件随着窗口的大小改变而改变大小
- WM_SIZE实现窗口改变时,改变控件的位置和大小
- 如何改变 GIMP 窗口上文字大小 字体大小
- 如何改变窗口和控件的背景色
- VC 控件根据窗口大小变化改变大小和位置。(EasySize)
- Qt窗体内控件随窗体大小改变