QT界面大小自动变化
这篇文档是我用了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界面缩放进行自适应变化的问题,特此记录一下. 环境:Win10+VS2015+QT5 1.拖拽控件 首先,新建一个QT GUI工程,在Qt Desig ...
- WPF字体大小随着控件大小自动变化
参考文章:https://blog.csdn.net/ljz_1985/article/details/17141087 实现的效果如下所示:(不使用ViewBox)当窗体变大或者缩小时,计算字体大小 ...
- linux qt程序窗口大小变化,Linux-Qt - 程序界面大小自适应屏幕分辨率
来源: http://blog.163.com/dingmz_frcmyblog/blog/static/2173040232013251021450/ 方法一:针对当前背景图片.控件坐标等等都已经提 ...
- c# groupbox大小_【已解决】C#中使得控件随着WinForm窗体的大小改变而自动变化
[问题] 想要使得一个C#中的一个窗体中的控件,DataGridView,自动随着WinForm窗体变化而变化,即: 中的显示数据的灰色部分, 另外还有上面那个"2.actions" ...
- Qt仿win7自动顶部最大化左侧右侧半屏效果
Win7系统不得不说是非常好用的,也是目前为止占用份额最大的操作系统,其中win7有个效果,将窗体拖动到顶部时会自动最大化,拖动到左侧右侧时会自动半屏显示,再次拖动窗体到其他位置,会重新恢复之前的大小 ...
- 转载:ROS的QT界面 开发史上 最强教程
https://blog.csdn.net/LOVE1055259415/article/details/80575432 基于ROS的QT界面开发史上最强教程 使用ROS下的QT插件开发基于ROS界 ...
- Qt界面编程-Qt简介
一.Qt简介 Qt是什么 图形用户程序框架,是对底层应用编程接口API面向对象的封装. 是一套基于C++语言的类库,专注但不局限于图形用户界面的开发,也可以进行系统调用.网络编程.数据库.2D/3D图 ...
- Qt界面优化:鼠标双击特效
Qt界面优化:鼠标双击特效 文章目录 Qt界面优化:鼠标双击特效 一.双击特效 二.使用步骤 1. .h部分 2. .cpp部分 注意点 gif动图的背景必须是透明的!!! 总结 一.双击特效 二.使 ...
- QT界面中实现视频帧显示的多种方法及应用
QT界面中实现视频帧显示的多种方法及应用 (一) 引言 1.1 视频帧在QT界面中的应用场景 1.2 不同方法的性能和适用性分析 1.2.1 使用QLabel和QPixmap 1.2.2 使用QPai ...
最新文章
- 容斥 + 爆搜打表 ---- 2020年南京icpc H.Harmonious Rectangle
- 如何查看手机连接wifi密码的记录
- PHP5 加速模块OPcache
- 保护模式 对CPL,RPL,DPL 的总结
- dijkstra+堆优化
- 更换checkbox的原有样式
- HTML渲染过程详解
- 20180321选择排序-简单选择排序
- Spring集成Redis集群(含spring集成redis代码)
- PHPExcel导出excel 复制代码
- 【开源工程】之YUVPlayer1.6
- 这才是程序员春运抢票的正确姿势!
- python editor_Python+Weditor
- C++C面试题100道分析(21-40)
- 求n个连续自然数之和为一个非负整数的数组
- FLUKE 754过程校准器带HART协议
- 南京大学俞扬博士AIDL演讲全文:强化学习前沿(上)
- for..in loops iterate over the entire prototype chain
- 1.STM32F103-点亮第一颗LED
- PS打不开php,ps打不开未响应怎么办
热门文章
- Maven下 SpringMvn+thymeleaf 搭建
- Maven学习笔记5:Maven属性、profile和资源过滤
- 守住你自己的“沉香”
- nginx配置高可用的集群
- 线性插值改变图像尺寸_图像分割--gt;上采样的那些事
- kesioncms ajax分页,改进KesionCMS V9.0x SQL标签分页支持嵌套
- compose部署redis和mysql_浅析docker-compose部署mysql无法访问的问题
- Python基本操作(四) 循环与判断
- 程序员面试时自称字节跳动工作两年,被发现学历造假,结果蒙了
- 你应该知道的 CSS 基础知识