QT界面大小自动变化
来源:互联网 发布:java实现解压缩zip 编辑:程序博客网 时间:2024/05/01 21:31
来源: http://qimo601.iteye.com/blog/1245131
这篇文档是我用了Qt一个月后,回来补充的。
问题:很多朋友刚用Qt,当我们把界面控件摆好后,再加layout布局,界面会发生很大变形。就算不变形,窗口放大缩小后,控件还是不随着窗口发生变化,这个问题也困扰了我好几天。问题如下图所示:
解决方法:
网上朋友提供的解决方案很多,实际都能解决问题。总的来说有以下两种方式:
1、最简单的方法,还是QtDesigner直接布局。
在VS中用Qt创建窗口时候,一般它自动给你生成了一个centralWidget,所有的控件都是在这个上面摆放的。
所以我们只需要把所有控件摆放在每个Layout中,肯定没问题,我的上面例子是因为我每个GroupBox里面的控件都用Layout布局好了,外面的centralWidget也用了个VBoxLayout布局了。但是我的每个GroupBox没有放在layout中,所以当我最后选择centralWidget布局VBoxLayout时候,出现了界面混乱。
我们应该给每一个GroupBox一个单独的布局。这样就不会出问题了。界面可以自由缩小和放大了。
总结来说:只要在QtDesigner中,所有的控件全部放在Layout中布局,并在最外面的centralWidget里也放一个布局,加上我们可用的spacing和Margining,基本上就可以满足我们的布局需求了。
2、第二种方法就是网上所说的Qt重绘事件QWidget::ResizeEvent 以及Resize()和setGeometry()函数的运用。
这个一般是在界面动态发生改变时候必须用的。
我后期再慢慢总结这块。。。。
另外,界面缩小放大后,所有控件可以跟着自动缩小和变化了。但是它的缩小放大的机制和每一个布局和控件中的属性相关,否则布局虽然没变,但是大小变化的并不好看!
布局中的属性:margining spacing stretch等可以看这篇文章
QLayout的属性介绍
控件的布局,大小变化的属性:介绍可以看这篇文章:
【转】如何在Qt 4程序中优化布局结构-兼回答网友提问
参考文章:
解决Qt Designer中的Form的内容不随着Form一起缩放的问题
QT布局管理器使用心得及引发的思考
- QT界面大小自动变化
- 图像大小自动变化
- QT设置界面大小
- 《转》QT界面怎么使控件随窗口大小变化一直居中显示
- qt中的界面按钮变化
- RCP表格大小自动变化
- html5图片随界面大小变化
- qt designer布局:随着窗口大小变化
- textview根据文字行数自动变化大小
- 【代码笔记】iOS-cell自动变化大小
- CListBox创建控件大小自动变化
- C# 界面随父界面大小比例变化
- C#控件随着窗口大小变化而自动变化
- C#控件随着窗口大小变化而自动变化
- C#界面动态布局 界面控件随着界面大小尺寸变化而变化
- flash大小随浏览器大小变化自动变化 flash全屏 swf大小自动适应浏览器窗口的变化
- 对话框大小变化自动调整控件大小ClxDialog及使用方法
- Qt界面不自动刷新
- acm oj 错误类型
- SysBench压力测试
- Jersey部署
- centos6.2下mdsplus的安装配置
- Balanced Lineup
- QT界面大小自动变化
- 索引的基本概念、分类、优点、使用
- JAVA保留小数位
- CentOS6.3上安装mysql5.6
- 【91xcz】什么是win7的移动中心?如何快速打开
- 让ProgressDialog在setCancelable(false)时按返回键可dismiss
- 【Spring学习笔记】Spring事务管理(一)
- 提高php代码质量 36计
- 【Hibernate中load和get的区别】