QT中控件如何随着窗口大小的改变而使它充满整个窗口空间
2014-04-04 14:12
1346 查看
如果要改变窗体的大小,它内部的控件一般不随它的变化而变化,内部部件怎么随窗体的大小而改变自身的大小呢?这里我们一般可以对窗口整体进行布局,我们要用到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里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变布局内的控件的大小,而相对的位置不变。
设置qtablewidget为主窗口的中心部件。 代码设置方式: setCentralWidget(qwidget的名字) 窗口变化时窗口内的部件依然按照原排列方式铺满窗口,则只需设置窗口如下: 直接为QMainWindow设置一个局部方式即可,水平或垂直布局都可以
使用布局时,在复杂的情况下,需要结合很多的手段才可以达到理想的效果,而且一般使用手写代码更为方便。有几个因素供参考:
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的大小改变而改变了。
相关文章推荐
- s3c2410上搭建QT/Embedded4.8.5开发环境(二)--安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- Qt串口通信专题教程
- QTableWidgetitem只写入数字
- Qt 5.2 Creator 和 vs2012 QT 插件的安装
- VS2010使用Qt库
- s3c2410上搭建QT/Embedded4.8.5开发环境(四)--安装intel-x86 X11平台qt库qt-everywhere-opensource-src-4.8.5
- Qt中字符串转换十六进制
- ubuntu 安装qt 5.1的各种错误
- Qt安装与学习资料
- Qt的QFile类详解
- 转:透析QTP自动化测试框架SAFFRON
- 第一章-Qt入门 1.3 窗口部件的布局
- QT槽函数声明技巧
- 第一章-Qt入门,1.2 建立连接
- 第一章-Qt入门,1.1 Hello Qt
- Qt读写INI配置文件
- s3c2410上搭建QT/Embedded4.8.5开发环境(一)---环境导读
- QtCreator 3.0 Git 工具无法push 显示timeout
- (五)Qt5之中文显示
- QT相关资料